From 3a064d528ec9401b3e02b4f6482721428617d777 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 10:18:37 -0700 Subject: [PATCH 01/37] initial work --- .github/workflows/openvmm-ci.yaml | 1082 +++++++++------- .github/workflows/openvmm-pr-release.yaml | 1082 +++++++++------- .github/workflows/openvmm-pr.yaml | 1086 +++++++++-------- .../src/gen_cargo_nextest_list_cmd.rs | 93 ++ flowey/flowey_lib_common/src/lib.rs | 1 + .../src/publish_test_results.rs | 29 + .../src/run_cargo_nextest_run.rs | 114 +- .../_jobs/build_and_run_nextest_unit_tests.rs | 1 + ...ume_and_test_nextest_unit_tests_archive.rs | 1 + ...sume_and_test_nextest_vmm_tests_archive.rs | 2 + .../local_build_and_run_nextest_vmm_tests.rs | 1 + .../src/_jobs/verify_all_tests_run.rs | 104 ++ 12 files changed, 2158 insertions(+), 1438 deletions(-) create mode 100644 flowey/flowey_lib_common/src/gen_cargo_nextest_list_cmd.rs create mode 100644 flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 223b52de58..cc4ad54730 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -585,8 +585,8 @@ jobs: flowey.exe e 10 flowey_lib_common::publish_test_results 0 flowey.exe e 10 flowey_lib_common::publish_test_results 1 flowey.exe e 10 flowey_lib_common::publish_test_results 2 - flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION + flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 + flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v4 @@ -888,8 +888,8 @@ jobs: flowey e 11 flowey_lib_common::publish_test_results 0 flowey e 11 flowey_lib_common::publish_test_results 1 flowey e 11 flowey_lib_common::publish_test_results 2 - flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION + flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 + flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v4 @@ -1194,8 +1194,8 @@ jobs: flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 flowey e 12 flowey_lib_common::publish_test_results 2 - flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION + flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v4 @@ -1425,8 +1425,8 @@ jobs: flowey.exe e 13 flowey_lib_common::publish_test_results 0 flowey.exe e 13 flowey_lib_common::publish_test_results 1 flowey.exe e 13 flowey_lib_common::publish_test_results 2 - flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION + flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v4 @@ -1496,8 +1496,55 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: creating new test content dir + - name: create cargo-nextest cache dir run: |- + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 14 flowey_lib_common::cache 4 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + shell: bash + - id: flowey_lib_common__cache__5 + uses: actions/cache@v4 + with: + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <, + /// Path to `.config/nextest.toml` + pub config_file: ReadVar, + /// Nextest profile to use when running the source code + pub nextest_profile: String, + /// Nextest test filter expression + pub nextest_filter_expr: Option, + /// Additional env vars set when executing the tests. + pub extra_env: Option>>, + /// Generated cargo-nextest list command + pub command: WriteVar, + } +} + +new_flow_node!(struct Node); + +impl FlowNode for Node { + type Request = Request; + + fn imports(ctx: &mut ImportCtx<'_>) { + ctx.import::(); + } + + fn emit(requests: Vec, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { + for Request { + run_kind_deps, + working_dir, + config_file, + nextest_profile, + nextest_filter_expr, + extra_env, + command: list_cmd, + } in requests + { + if let gen_cargo_nextest_run_cmd::RunKindDeps::BuildAndRun { + params: _, + nextest_installed: _, + rust_toolchain: _, + cargo_flags: _, + } = run_kind_deps + { + anyhow::bail!("BuildAndRun is not supported.") + } + + let run_cmd = ctx.reqv(|v| gen_cargo_nextest_run_cmd::Request { + run_kind_deps, + working_dir, + config_file, + tool_config_files: Vec::new(), // Ignored + nextest_profile, + extra_env, + nextest_filter_expr, + run_ignored: true, + fail_fast: None, + portable: false, + command: v, + }); + + ctx.emit_rust_step("generate nextest list command", |ctx| { + let run_cmd = run_cmd.claim(ctx); + let list_cmd = list_cmd.claim(ctx); + move |rt| { + let mut cmd = rt.read(run_cmd); + cmd.args = cmd + .args + .into_iter() + .map(|arg| if arg == "run" { "list".into() } else { arg }) + .collect(); + cmd.args.extend(["--message-format".into(), "json".into()]); + + rt.write(list_cmd, &cmd); + log::info!("Generated command: {}", cmd); + + Ok(()) + } + }); + } + Ok(()) + } +} diff --git a/flowey/flowey_lib_common/src/lib.rs b/flowey/flowey_lib_common/src/lib.rs index c72ded3af4..ec38a4bb5e 100644 --- a/flowey/flowey_lib_common/src/lib.rs +++ b/flowey/flowey_lib_common/src/lib.rs @@ -31,6 +31,7 @@ pub mod download_mdbook_admonish; pub mod download_mdbook_mermaid; pub mod download_nuget_exe; pub mod download_protoc; +pub mod gen_cargo_nextest_list_cmd; pub mod gen_cargo_nextest_run_cmd; pub mod gh_download_azure_key_vault_secret; pub mod gh_latest_completed_workflow_id; diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 5407168be3..975d0ac39d 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -24,6 +24,8 @@ flowey_request! { /// To keep making forward progress, I've tweaked this node to accept an /// optional... but this ain't great. pub junit_xml: ReadVar>, + /// Path to the JSON output from `nextest list --json`. + pub nextest_list_json: Option>>, /// Brief string used when publishing the test. /// Must be unique to the pipeline. pub test_label: String, @@ -57,6 +59,7 @@ impl FlowNode for Node { for Request { junit_xml, + nextest_list_json, test_label: label, attachments, output_dir, @@ -77,6 +80,13 @@ impl FlowNode for Node { let has_junit_xml = junit_xml.map(ctx, |p| p.is_some()); let junit_xml = junit_xml.map(ctx, |p| p.unwrap_or_default()); + let has_nextest_list = nextest_list_json + .as_ref() + .map(|v| v.map(ctx, |p| p.is_some())); + let nextest_list_json = nextest_list_json + .as_ref() + .map(|v| v.map(ctx, |p| p.unwrap_or_default())); + match ctx.backend() { FlowBackend::Ado => { use_side_effects.push(ctx.reqv(|v| { @@ -96,6 +106,25 @@ impl FlowNode for Node { p.absolute().expect("invalid path").display().to_string() }); + if let Some(nextest_list_json) = nextest_list_json { + let nextest_list_json = nextest_list_json.map(ctx, |p| { + p.absolute().expect("invalid path").display().to_string() + }); + + let has_nextest_list = has_nextest_list.unwrap(); + + use_side_effects.push( + ctx.emit_gh_step( + format!("publish test results: {label} (nextest list JSON)"), + "actions/upload-artifact@v4", + ) + .condition(has_nextest_list) + .with("name", format!("{label}-nextest-list-json")) + .with("path", nextest_list_json) + .finish(ctx), + ); + } + // Note: usually flowey's built-in artifact publishing API // should be used instead of this, but here we need to // manually upload the artifact now so that it is still diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index f541fa17a7..80c85c08ca 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -6,11 +6,16 @@ use crate::gen_cargo_nextest_run_cmd::RunKindDeps; use flowey::node::prelude::*; use std::collections::BTreeMap; +use std::io::Write; +use std::process::ExitStatus; +use std::process::Stdio; #[derive(Serialize, Deserialize)] pub struct TestResults { pub all_tests_passed: bool, /// Path to JUnit XML output (if enabled by the nextest profile) pub junit_xml: Option, + /// Path to JSON file containing output of `cargo nextest list` command (if running in ci) + pub nextest_list_output: Option, } /// Parameters related to building nextest tests @@ -135,6 +140,7 @@ impl FlowNode for Node { ctx.import::(); ctx.import::(); ctx.import::(); + ctx.import::(); ctx.import::(); } @@ -211,6 +217,30 @@ impl FlowNode for Node { } }; + let list_cmd = match &run_kind_deps { + RunKindDeps::BuildAndRun { .. } => None, + RunKindDeps::RunFromArchive { + archive_file, + nextest_bin, + target, + } => { + let list_cmd = ctx.reqv(|v| crate::gen_cargo_nextest_list_cmd::Request { + run_kind_deps: RunKindDeps::RunFromArchive { + archive_file: archive_file.clone(), + nextest_bin: nextest_bin.clone(), + target: target.clone(), + }, + working_dir: working_dir.clone(), + config_file: config_file.clone(), + nextest_profile: nextest_profile.clone(), + nextest_filter_expr: None, // Ignored + extra_env: extra_env.clone(), + command: v, + }); + Some(list_cmd) + } + }; + let cmd = ctx.reqv(|v| crate::gen_cargo_nextest_run_cmd::Request { run_kind_deps, working_dir: working_dir.clone(), @@ -227,6 +257,7 @@ impl FlowNode for Node { let (all_tests_passed_read, all_tests_passed_write) = ctx.new_var(); let (junit_xml_read, junit_xml_write) = ctx.new_var(); + let (nextest_list_output_file_read, nextest_list_output_file_write) = ctx.new_var(); ctx.emit_rust_step(format!("run '{friendly_name}' nextest tests"), |ctx| { pre_run_deps.claim(ctx); @@ -235,12 +266,15 @@ impl FlowNode for Node { let config_file = config_file.claim(ctx); let all_tests_passed_var = all_tests_passed_write.claim(ctx); let junit_xml_write = junit_xml_write.claim(ctx); + let nextest_list_output_file_write = nextest_list_output_file_write.claim(ctx); + let list_cmd = list_cmd.claim(ctx); let cmd = cmd.claim(ctx); move |rt| { let working_dir = rt.read(working_dir); let config_file = rt.read(config_file); let cmd = rt.read(cmd); + let list_cmd = rt.read(list_cmd); // first things first - determine if junit is supported by // the profile, and if so, where the output if going to be. @@ -310,17 +344,7 @@ impl FlowNode for Node { // exit code of the process. // // So we have to use the raw process API instead. - let mut command = std::process::Command::new(&cmd.argv0); - command - .args(&cmd.args) - .envs(&cmd.env) - .current_dir(&working_dir); - - let mut child = command.spawn().with_context(|| { - format!("failed to spawn '{}'", cmd.argv0.to_string_lossy()) - })?; - - let status = child.wait()?; + let (status, _stdout) = run_command(&cmd, &working_dir, false)?; #[cfg(unix)] if let Some((soft, hard)) = old_core_rlimits { @@ -369,6 +393,31 @@ impl FlowNode for Node { rt.write(junit_xml_write, &junit_xml); + // run the list command to get all tests in the executable + if let Some(list_cmd) = list_cmd { + let (status, stdout_opt) = run_command(&list_cmd, &working_dir, true)?; + anyhow::ensure!(status.success(), "failed to list tests in executable"); + let stdout = + stdout_opt.context("missing stdout from nextest list command")?; + let nextest_list_json = get_nextest_list_output_from_stdout(&stdout)?; + if let Some(ref junit_xml_path) = junit_xml { + anyhow::ensure!( + junit_xml_path.is_file(), + "expected junit xml to exist at {:?}", + junit_xml_path + ); + let containing_dir = junit_xml_path + .parent() + .context("junit xml has no parent")? + .to_path_buf(); + let output_path = containing_dir.join("nextest_list.json"); + let mut file = fs_err::File::create_new(output_path.clone())?; + file.write_all(nextest_list_json.to_string().as_bytes())?; + + rt.write(nextest_list_output_file_write, &output_path.absolute()?); + } + } + Ok(()) } }); @@ -376,17 +425,20 @@ impl FlowNode for Node { ctx.emit_minor_rust_step("write results", |ctx| { let all_tests_passed = all_tests_passed_read.claim(ctx); let junit_xml = junit_xml_read.claim(ctx); + let nextest_list_output = nextest_list_output_file_read.claim(ctx); let results = results.claim(ctx); move |rt| { let all_tests_passed = rt.read(all_tests_passed); let junit_xml = rt.read(junit_xml); + let nextest_list_output = rt.read(nextest_list_output); rt.write( results, &TestResults { all_tests_passed, junit_xml, + nextest_list_output: Some(nextest_list_output), }, ); } @@ -421,3 +473,43 @@ impl build_params::NextestBuildParams { } } } + +fn run_command( + cmd: &crate::gen_cargo_nextest_run_cmd::Command, + working_dir: &PathBuf, + capture_stdout: bool, +) -> anyhow::Result<(ExitStatus, Option)> { + let mut command = std::process::Command::new(&cmd.argv0); + command + .args(&cmd.args) + .envs(&cmd.env) + .current_dir(working_dir); + + if capture_stdout { + command.stdout(Stdio::piped()); + } else { + command.stdout(Stdio::inherit()); + } + + let mut child = command + .spawn() + .with_context(|| format!("failed to spawn '{}'", cmd.argv0.to_string_lossy()))?; + + if capture_stdout { + let output = child.wait_with_output()?; + let stdout_str = String::from_utf8_lossy(&output.stdout).into_owned(); + Ok((output.status, Some(stdout_str))) + } else { + let status = child.wait()?; + Ok((status, None)) + } +} + +fn get_nextest_list_output_from_stdout(output: &str) -> anyhow::Result { + for line in output.lines() { + if let Ok(json_value) = serde_json::from_str::(line) { + return Ok(json_value); + } + } + anyhow::bail!("failed to find JSON output in nextest list command output"); +} diff --git a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs index f8206f2d76..0e968f1a49 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs @@ -68,6 +68,7 @@ impl SimpleFlowNode for Node { let junit_xml = results.map(ctx, |r| r.junit_xml); let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, + nextest_list_json: None, test_label: junit_test_label, attachments: BTreeMap::new(), output_dir: artifact_dir, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs index 00d642e555..fc8c675bc1 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs @@ -58,6 +58,7 @@ impl SimpleFlowNode for Node { let junit_xml = results.map(ctx, |r| r.junit_xml); let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, + nextest_list_json: None, test_label: junit_test_label, attachments: BTreeMap::new(), output_dir: artifact_dir, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index 9eec7fe57e..ac6cc1f32e 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -205,8 +205,10 @@ impl SimpleFlowNode for Node { let test_log_path = test_log_path.depending_on(ctx, &results); let junit_xml = results.map(ctx, |r| r.junit_xml); + let nextest_list_json = results.map(ctx, |r| r.nextest_list_output); let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, + nextest_list_json: Some(nextest_list_json), test_label: junit_test_label, attachments: BTreeMap::from([("logs".to_string(), (test_log_path, false))]), output_dir: artifact_dir, 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 a968457667..70ea5d3a4f 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 @@ -931,6 +931,7 @@ impl SimpleFlowNode for Node { let published_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, + nextest_list_json: None, test_label, attachments: BTreeMap::new(), // the logs are already there output_dir: Some(ReadVar::from_static(test_content_dir)), diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs new file mode 100644 index 0000000000..52408bbb21 --- /dev/null +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +//! Compares the size of the OpenHCL binary in the current PR with the size of the binary from the last successful merge to main. +use flowey::node::prelude::*; +use quick_xml::Reader; +use quick_xml::events::Event; + +flowey_request! { + pub struct Request { + pub test_artifacts: Vec<(String, ReadVar)>, + pub done: WriteVar, + } +} + +new_simple_flow_node!(struct Node); + +impl SimpleFlowNode for Node { + type Request = Request; + + fn imports(_ctx: &mut ImportCtx<'_>) {} + + fn process_request(request: Self::Request, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { + let Request { + test_artifacts, + done, + } = request; + + // TODO: testing with GitHub first, will add ADO support later. + if ctx.backend() != FlowBackend::Github { + return Ok(()); + } + + let parse = ctx.emit_rust_step("collect test names from junit logs", |ctx| { + let artifacts: Vec<_> = test_artifacts + .into_iter() + .map(|(name, path)| (name, path.claim(ctx))) + .collect(); + + move |rt| { + for (name, path) in artifacts { + let mut file = rt.read(path); + println!("File: {}", file.display()); + assert!(file.exists(), "expected artifact file to exist"); + + file = file.join(&name); + println!("Expanded to: {}", file.display()); + assert!(file.exists(), "expected artifact dir to exist"); + + file = file.join("junit.xml"); + println!("Name: {}, File: {}", name, file.display()); + assert!( + file.exists(), + "expected junit.xml file to exist at {}", + file.display() + ); + let test_names = get_testcase_names(&file)?; + println!("Test names in {}:", name); + for test_name in test_names { + println!(" {}", test_name); + } + } + + Ok(()) + } + }); + + ctx.emit_side_effect_step(vec![parse], [done]); + + Ok(()) + } +} + +fn get_testcase_names(junit_path: &PathBuf) -> anyhow::Result> { + let mut reader = Reader::from_file(junit_path)?; + + let mut buf = Vec::new(); + let mut test_names = Vec::new(); + + loop { + match reader.read_event_into(&mut buf)? { + Event::Start(e) if e.name().as_ref() == b"testcase" => { + let mut name = None; + let mut classname = None; + + for attr in e.attributes() { + let attr = attr?; + match attr.key.as_ref() { + b"name" => name = Some(attr.unescape_value()?.to_string()), + b"classname" => classname = Some(attr.unescape_value()?.to_string()), + _ => {} + } + } + + test_names.push(classname.unwrap() + "::" + &name.unwrap()); + } + + Event::Eof => break, + _ => {} + } + } + + Ok(test_names) +} From b215a0cab78b8528cc7705ec791d2e1df397be09 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 11:30:16 -0700 Subject: [PATCH 02/37] fixes --- Cargo.lock | 10 ++++++++++ Cargo.toml | 1 + .../src/pipelines/checkin_gates.rs | 20 +++++++++++++++++++ .../src/run_cargo_nextest_run.rs | 12 +++++++++-- flowey/flowey_lib_hvlite/Cargo.toml | 1 + flowey/flowey_lib_hvlite/src/_jobs/mod.rs | 1 + 6 files changed, 43 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 491cc04a08..4383f4b685 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1949,6 +1949,7 @@ dependencies = [ "fs-err", "igvmfilegen_config", "log", + "quick-xml", "serde", "serde_json", "target-lexicon", @@ -5990,6 +5991,15 @@ dependencies = [ "syn 2.0.106", ] +[[package]] +name = "quick-xml" +version = "0.38.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" +dependencies = [ + "memchr", +] + [[package]] name = "quote" version = "1.0.40" diff --git a/Cargo.toml b/Cargo.toml index 8a4ed18ed6..456a0346da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -495,6 +495,7 @@ proc-macro2 = "1.0" prost = "0.11" prost-build = "0.11" prost-types = "0.11" +quick-xml = "0.38.3" quote = "1.0" range_map_vec = "0.2.0" rayon = "1.5" diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 78cefec1df..f064aa64c2 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -1051,6 +1051,26 @@ impl IntoPipeline for CheckinGatesCli { all_jobs.push(vmm_tests_run_job.finish()); } + // { + // let job = pipeline + // .new_job( + // FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), + // FlowArch::X86_64, + // "verify all tests run at least once", + // ) + // .gh_set_pool(crate::pipelines_shared::gh_pools::default_x86_pool( + // FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), + // )) + // .dep_on( + // |ctx| flowey_lib_hvlite::_jobs::verify_all_tests_run::Request { + // test_artifacts: + // done: ctx.new_done_handle(), + // }, + // ) + // .finish(); + // all_jobs.push(job); + // } + // test the flowey local backend by running cargo xflowey build-igvm on x64 { let job = pipeline diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index 80c85c08ca..38a33f4923 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -266,10 +266,15 @@ impl FlowNode for Node { let config_file = config_file.claim(ctx); let all_tests_passed_var = all_tests_passed_write.claim(ctx); let junit_xml_write = junit_xml_write.claim(ctx); - let nextest_list_output_file_write = nextest_list_output_file_write.claim(ctx); let list_cmd = list_cmd.claim(ctx); let cmd = cmd.claim(ctx); + let nextest_list_output_file_write = if list_cmd.is_some() { + Some(nextest_list_output_file_write.claim(ctx)) + } else { + None + }; + move |rt| { let working_dir = rt.read(working_dir); let config_file = rt.read(config_file); @@ -414,7 +419,10 @@ impl FlowNode for Node { let mut file = fs_err::File::create_new(output_path.clone())?; file.write_all(nextest_list_json.to_string().as_bytes())?; - rt.write(nextest_list_output_file_write, &output_path.absolute()?); + rt.write( + nextest_list_output_file_write.unwrap(), + &output_path.absolute()?, + ); } } diff --git a/flowey/flowey_lib_hvlite/Cargo.toml b/flowey/flowey_lib_hvlite/Cargo.toml index 0f21ec374f..f434c950a9 100644 --- a/flowey/flowey_lib_hvlite/Cargo.toml +++ b/flowey/flowey_lib_hvlite/Cargo.toml @@ -16,6 +16,7 @@ igvmfilegen_config.workspace = true anyhow.workspace = true fs-err.workspace = true log.workspace = true +quick-xml.workspace = true serde.workspace = true serde_json.workspace = true target-lexicon = { workspace = true, features = ["serde_support"] } diff --git a/flowey/flowey_lib_hvlite/src/_jobs/mod.rs b/flowey/flowey_lib_hvlite/src/_jobs/mod.rs index 89f2247ee2..6e54dea3e4 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/mod.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/mod.rs @@ -24,3 +24,4 @@ pub mod local_build_igvm; pub mod local_custom_vmfirmwareigvm_dll; pub mod local_restore_packages; pub mod test_local_flowey_build_igvm; +pub mod verify_all_tests_run; From 92d49042c40734b05017983aa49f8c68616909f4 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 12:38:53 -0700 Subject: [PATCH 03/37] Add support for force published artifacts --- .../src/pipeline_resolver/ado_yaml.rs | 18 +++++++++++-- .../src/pipeline_resolver/direct_run.rs | 10 +++++-- .../src/pipeline_resolver/generic.rs | 19 ++++++++++---- .../src/pipeline_resolver/github_yaml/mod.rs | 17 ++++++++++-- flowey/flowey_core/src/pipeline.rs | 26 +++++++++++++++++++ .../src/pipelines/checkin_gates.rs | 14 +++++----- 6 files changed, 87 insertions(+), 17 deletions(-) diff --git a/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs b/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs index ae57d1e0b6..6ec49075da 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs @@ -193,6 +193,7 @@ pub fn ado_yaml( for ResolvedJobArtifact { flowey_var: _, name, + .. } in artifacts_used { ado_steps.push({ @@ -310,7 +311,10 @@ EOF // next, emit ado steps to create dirs for artifacts which will be // published - for ResolvedJobArtifact { flowey_var, name } in artifacts_published { + for ResolvedJobArtifact { + flowey_var, name, .. + } in artifacts_published + { writeln!( flowey_bootstrap_bash, r#"mkdir -p "$(AgentTempDirNormal)/publish_artifacts/{name}""# @@ -324,7 +328,10 @@ EOF // lastly, emit ado steps that report the dirs for any artifacts which // are used by this job - for ResolvedJobArtifact { flowey_var, name } in artifacts_used { + for ResolvedJobArtifact { + flowey_var, name, .. + } in artifacts_used + { // do NOT use ADO macro syntax $(...), since this is in the same // bootstrap block as where those ADO vars get defined, meaning it's // not available yet! @@ -425,14 +432,21 @@ EOF for ResolvedJobArtifact { flowey_var: _, name, + force_upload, } in artifacts_published { + let force_upload = if *force_upload { + "always()" + } else { + "succeeded()" + }; ado_steps.push({ let map: serde_yaml::Mapping = serde_yaml::from_str(&format!( r#" publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/{name} displayName: '🌼📦 Publish {name}' artifact: {name} + condition: {force_upload} "# )) .unwrap(); diff --git a/flowey/flowey_cli/src/pipeline_resolver/direct_run.rs b/flowey/flowey_cli/src/pipeline_resolver/direct_run.rs index 00decf158c..426db669c1 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/direct_run.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/direct_run.rs @@ -275,7 +275,10 @@ fn direct_run_do_work( serde_json::to_string(&persist_dir).unwrap().into(), ); - for ResolvedJobArtifact { flowey_var, name } in artifacts_published { + for ResolvedJobArtifact { + flowey_var, name, .. + } in artifacts_published + { let path = out_dir.join("artifacts").join(name); fs_err::create_dir_all(&path)?; @@ -291,7 +294,10 @@ fn direct_run_do_work( } fs_err::create_dir_all(out_dir.join(".job_artifacts"))?; - for ResolvedJobArtifact { flowey_var, name } in artifacts_used { + for ResolvedJobArtifact { + flowey_var, name, .. + } in artifacts_used + { let path = out_dir.join(".job_artifacts").join(name); fs_err::create_dir_all(&path)?; copy_dir_all(out_dir.join("artifacts").join(name), &path)?; diff --git a/flowey/flowey_cli/src/pipeline_resolver/generic.rs b/flowey/flowey_cli/src/pipeline_resolver/generic.rs index 34cc4eaed1..e3651c9544 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/generic.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/generic.rs @@ -50,6 +50,7 @@ pub struct ResolvedPipeline { pub struct ResolvedJobArtifact { pub flowey_var: String, pub name: String, + pub force_upload: bool, } #[derive(Debug, Clone)] @@ -112,6 +113,7 @@ pub fn resolve_pipeline(pipeline: Pipeline) -> anyhow::Result name, published_by_job, used_by_jobs, + force_published: _, } in &artifacts { let no_existing = m @@ -183,11 +185,16 @@ pub fn resolve_pipeline(pipeline: Pipeline) -> anyhow::Result let artifacts_published: Vec<_> = artifacts_published .into_iter() - .map(|a| ResolvedJobArtifact { - flowey_var: flowey_core::pipeline::internal::consistent_artifact_runtime_var_name( - &a, false, - ), - name: a, + .map(|a| { + let artifact_meta = artifacts.iter().find(|meta| meta.name == a).unwrap(); + ResolvedJobArtifact { + flowey_var: + flowey_core::pipeline::internal::consistent_artifact_runtime_var_name( + &a, false, + ), + name: a, + force_upload: artifact_meta.force_published, + } }) .collect(); let artifacts_used: Vec<_> = artifacts_used @@ -197,6 +204,7 @@ pub fn resolve_pipeline(pipeline: Pipeline) -> anyhow::Result &a, true, ), name: a, + force_upload: false, }) .collect(); let parameters_used: Vec<_> = parameters_used @@ -245,6 +253,7 @@ pub fn resolve_pipeline(pipeline: Pipeline) -> anyhow::Result name: _, published_by_job, used_by_jobs, + force_published: _, } in artifacts { let published_idx = job_graph_idx[published_by_job.expect("checked in loop above")]; diff --git a/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs b/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs index 2ca9d42895..1928d40091 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs @@ -368,7 +368,10 @@ EOF // next, emit GitHub steps to create dirs for artifacts which will be // published - for ResolvedJobArtifact { flowey_var, name } in artifacts_published { + for ResolvedJobArtifact { + flowey_var, name, .. + } in artifacts_published + { writeln!( flowey_bootstrap_bash, r#"mkdir -p "$AgentTempDirNormal/publish_artifacts/{name}""# @@ -392,7 +395,10 @@ EOF // lastly, emit GitHub steps that report the dirs for any artifacts which // are used by this job - for ResolvedJobArtifact { flowey_var, name } in artifacts_used { + for ResolvedJobArtifact { + flowey_var, name, .. + } in artifacts_used + { let var_db_inject_cmd = bootstrap_bash_var_db_inject(flowey_var, true); match platform.kind() { FlowPlatformKind::Windows => { @@ -430,13 +436,20 @@ EOF for ResolvedJobArtifact { flowey_var: _, name, + force_upload, } in artifacts_published { + let force_upload = if *force_upload { + "always()" + } else { + "success()" + }; gh_steps.push({ let map: serde_yaml::Mapping = serde_yaml::from_str(&format!( r#" name: 🌼📦 Publish {name} uses: actions/upload-artifact@v4 + if: {force_upload} with: name: {name} path: {RUNNER_TEMP}/publish_artifacts/{name}/ diff --git a/flowey/flowey_core/src/pipeline.rs b/flowey/flowey_core/src/pipeline.rs index b37fa876b4..7115142f80 100644 --- a/flowey/flowey_core/src/pipeline.rs +++ b/flowey/flowey_core/src/pipeline.rs @@ -639,6 +639,7 @@ impl Pipeline { name: owned_name, published_by_job: None, used_by_jobs: BTreeSet::new(), + force_published: false, }); (PublishArtifact { idx }, UseArtifact { idx }) @@ -658,6 +659,30 @@ impl Pipeline { ) } + /// Mark an artifact to be force published, meaning it will be published + /// even if the job fails. + /// + /// This is useful for artifacts that contain diagnostic information or logs + /// that are needed to debug failures. + #[track_caller] + pub fn force_publish_artifact(&mut self, artifact: &PublishArtifact) -> &mut Self { + self.artifacts[artifact.idx].force_published = true; + self + } + + /// Mark a typed artifact to be force published, meaning it will be published + /// even if the job fails. + /// + /// This is useful for artifacts that contain diagnostic information or logs + /// that are needed to debug failures. + #[track_caller] + pub fn force_publish_typed_artifact( + &mut self, + artifact: &PublishTypedArtifact, + ) -> &mut Self { + self.force_publish_artifact(&artifact.0) + } + /// (ADO only) Set the pipeline-level name. /// /// @@ -1330,6 +1355,7 @@ pub mod internal { pub name: String, pub published_by_job: Option, pub used_by_jobs: BTreeSet, + pub force_published: bool, } #[derive(Debug)] diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index f064aa64c2..1d52c9e16b 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -922,6 +922,8 @@ impl IntoPipeline for CheckinGatesCli { KnownTestArtifacts::Ubuntu2404ServerX64Vhd, ]; + let mut vmm_tests_results_artifacts = vec![]; + for VmmTestJobParams { platform, arch, @@ -1007,11 +1009,11 @@ impl IntoPipeline for CheckinGatesCli { ] { let test_label = format!("{label}-vmm-tests"); - let pub_vmm_tests_results = if matches!(backend_hint, PipelineBackendHint::Local) { - Some(pipeline.new_artifact(&test_label).0) - } else { - None - }; + let (pub_vmm_tests_results, use_vmm_tests_results) = + pipeline.new_artifact(format!("{label}-vmm-tests-results")); + + pipeline.force_publish_artifact(&pub_vmm_tests_results); + vmm_tests_results_artifacts.push(use_vmm_tests_results); let use_vmm_tests_archive = match target { CommonTriple::X86_64_WINDOWS_MSVC => &use_vmm_tests_archive_windows_x86, @@ -1034,7 +1036,7 @@ impl IntoPipeline for CheckinGatesCli { dep_artifact_dirs: resolve_vmm_tests_artifacts(ctx), test_artifacts, fail_job_on_test_fail: true, - artifact_dir: pub_vmm_tests_results.map(|x| ctx.publish_artifact(x)), + artifact_dir: Some(ctx.publish_artifact(pub_vmm_tests_results)), needs_prep_run, done: ctx.new_done_handle(), } From 233acfa75dffef2152cf434af64118eaecbdf13f Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 13:15:37 -0700 Subject: [PATCH 04/37] test out new force publish artifact step --- vmm_tests/vmm_tests/tests/tests/x86_64.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vmm_tests/vmm_tests/tests/tests/x86_64.rs b/vmm_tests/vmm_tests/tests/tests/x86_64.rs index 44cace32e2..3630472b04 100644 --- a/vmm_tests/vmm_tests/tests/tests/x86_64.rs +++ b/vmm_tests/vmm_tests/tests/tests/x86_64.rs @@ -72,7 +72,8 @@ async fn boot_with_tpm(config: PetriVmBuilder) -> anyhow::R agent.power_off().await?; vm.wait_for_clean_teardown().await?; - Ok(()) + + panic!("Force test failure to verify vmm-tests-results artifact publishing"); } /// Test AK cert is persistent across boots on Linux. From ccbe79d67a0601e1e9892c0bc9596b51b543d26f Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 13:15:45 -0700 Subject: [PATCH 05/37] regen yaml --- .github/workflows/openvmm-ci.yaml | 639 +++++++++--------- .github/workflows/openvmm-docs-ci.yaml | 3 + .github/workflows/openvmm-docs-pr.yaml | 3 + .github/workflows/openvmm-pr-release.yaml | 637 +++++++++-------- .github/workflows/openvmm-pr.yaml | 637 +++++++++-------- .../src/publish_test_results.rs | 63 +- .../src/run_cargo_nextest_run.rs | 23 +- 7 files changed, 1000 insertions(+), 1005 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index cc4ad54730..7e768ff67b 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -435,7 +435,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 10 flowey_lib_common::git_checkout 0 - flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -443,7 +443,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -463,14 +463,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 4 - flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -537,14 +537,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 0 - flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -584,17 +584,7 @@ jobs: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 10 flowey_lib_common::publish_test_results 0 flowey.exe e 10 flowey_lib_common::publish_test_results 1 - flowey.exe e 10 flowey_lib_common::publish_test_results 2 - flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -708,14 +698,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 4 - flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -734,7 +724,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 11 flowey_lib_common::git_checkout 0 - flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -742,7 +732,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -835,14 +825,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 0 - flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -887,17 +877,7 @@ jobs: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 11 flowey_lib_common::publish_test_results 0 flowey e 11 flowey_lib_common::publish_test_results 1 - flowey e 11 flowey_lib_common::publish_test_results 2 - flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1002,7 +982,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1010,7 +990,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1034,14 +1014,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1141,14 +1121,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1193,17 +1173,7 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 - flowey e 12 flowey_lib_common::publish_test_results 2 - flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-musl-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1306,14 +1276,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 0 - flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1341,7 +1311,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 13 flowey_lib_common::git_checkout 0 - flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1349,7 +1319,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1369,14 +1339,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 4 - flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1424,17 +1394,7 @@ jobs: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 13 flowey_lib_common::publish_test_results 0 flowey.exe e 13 flowey_lib_common::publish_test_results 1 - flowey.exe e 13 flowey_lib_common::publish_test_results 2 - flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1484,6 +1444,8 @@ jobs: cat <<'EOF' | flowey.exe v 14 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1506,14 +1468,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1526,7 +1488,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1534,7 +1496,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1566,14 +1528,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1597,14 +1559,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1635,14 +1597,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 12 - flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1682,48 +1644,36 @@ jobs: flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 14 flowey_lib_common::publish_test_results 3 - flowey.exe e 14 flowey_lib_common::publish_test_results 5 flowey.exe e 14 flowey_lib_common::publish_test_results 2 - flowey.exe v 14 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey.exe e 14 flowey_lib_common::publish_test_results 3 + flowey.exe e 14 flowey_lib_common::publish_test_results 4 + flowey.exe v 14 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-intel-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' run: |- flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 - flowey.exe e 14 flowey_lib_common::publish_test_results 4 - flowey.exe v 14 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 14 flowey_lib_common::publish_test_results 7 flowey.exe e 14 flowey_lib_common::publish_test_results 8 - flowey.exe e 14 flowey_lib_common::publish_test_results 9 - flowey.exe v 14 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 14 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 14 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 14 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-intel-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -1741,6 +1691,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 14 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-intel-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results/ + include-hidden-files: true job15: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -1780,6 +1737,8 @@ jobs: cat <<'EOF' | flowey.exe v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1802,14 +1761,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1822,7 +1781,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1830,7 +1789,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1862,14 +1821,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1893,14 +1852,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1931,14 +1890,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1983,48 +1942,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 5 flowey.exe e 15 flowey_lib_common::publish_test_results 2 - flowey.exe v 15 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-tdx-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-intel-tdx-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: |- flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_common::publish_test_results 4 - flowey.exe v 15 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 15 flowey_lib_common::publish_test_results 7 flowey.exe e 15 flowey_lib_common::publish_test_results 8 - flowey.exe e 15 flowey_lib_common::publish_test_results 9 - flowey.exe v 15 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 15 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 15 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2042,6 +1989,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 15 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-intel-tdx-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results/ + include-hidden-files: true job16: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2079,6 +2033,8 @@ jobs: cat <<'EOF' | flowey.exe v 16 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results" | flowey.exe v 16 'artifact_publish_from_x64-windows-amd-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 16 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2101,14 +2057,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2121,7 +2077,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2129,7 +2085,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2161,14 +2117,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2192,14 +2148,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2230,14 +2186,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2277,48 +2233,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 5 flowey.exe e 16 flowey_lib_common::publish_test_results 2 - flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-amd-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' run: |- flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_common::publish_test_results 4 - flowey.exe v 16 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 flowey.exe e 16 flowey_lib_common::publish_test_results 8 - flowey.exe e 16 flowey_lib_common::publish_test_results 9 - flowey.exe v 16 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 16 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-amd-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2336,6 +2280,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 16 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-amd-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results/ + include-hidden-files: true job17: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2375,6 +2326,8 @@ jobs: cat <<'EOF' | flowey.exe v 17 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2397,14 +2350,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2417,7 +2370,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2425,7 +2378,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2457,14 +2410,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2488,14 +2441,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2526,14 +2479,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2578,48 +2531,36 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 5 flowey.exe e 17 flowey_lib_common::publish_test_results 2 - flowey.exe v 17 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey.exe e 17 flowey_lib_common::publish_test_results 3 + flowey.exe e 17 flowey_lib_common::publish_test_results 4 + flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-snp-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-amd-snp-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: |- flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - flowey.exe e 17 flowey_lib_common::publish_test_results 4 - flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 17 flowey_lib_common::publish_test_results 7 flowey.exe e 17 flowey_lib_common::publish_test_results 8 - flowey.exe e 17 flowey_lib_common::publish_test_results 9 - flowey.exe v 17 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 17 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 17 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2637,6 +2578,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 17 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-amd-snp-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results/ + include-hidden-files: true job18: name: run vmm-tests [x64-linux] runs-on: @@ -2674,6 +2622,8 @@ jobs: cat <<'EOF' | flowey v 18 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" | flowey v 18 'artifact_publish_from_x64-linux-vmm-tests-results' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2695,14 +2645,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 4 - flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2715,7 +2665,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 18 flowey_lib_common::git_checkout 0 - flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2723,7 +2673,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2750,14 +2700,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 0 - flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2787,14 +2737,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 8 - flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2825,14 +2775,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 12 - flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2872,48 +2822,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 18 flowey_lib_common::publish_test_results 3 - flowey e 18 flowey_lib_common::publish_test_results 5 flowey e 18 flowey_lib_common::publish_test_results 2 - flowey v 18 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-linux-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-linux-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' run: |- flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 - flowey e 18 flowey_lib_common::publish_test_results 4 - flowey v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey e 18 flowey_lib_common::publish_test_results 7 flowey e 18 flowey_lib_common::publish_test_results 8 - flowey e 18 flowey_lib_common::publish_test_results 9 - flowey v 18 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey v 18 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey v 18 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-linux-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2931,6 +2869,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey e 18 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-linux-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-linux-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results/ + include-hidden-files: true job19: name: run vmm-tests [aarch64-windows] runs-on: @@ -3018,6 +2963,8 @@ jobs: cat <<'EOF' | flowey.exe v 19 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results" | flowey.exe v 19 'artifact_publish_from_aarch64-windows-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update @@ -3038,14 +2985,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3058,7 +3005,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3066,7 +3013,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3097,14 +3044,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3128,14 +3075,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3166,14 +3113,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3213,48 +3160,36 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 19 flowey_lib_common::publish_test_results 3 - flowey.exe e 19 flowey_lib_common::publish_test_results 5 flowey.exe e 19 flowey_lib_common::publish_test_results 2 - flowey.exe v 19 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey.exe e 19 flowey_lib_common::publish_test_results 3 + flowey.exe e 19 flowey_lib_common::publish_test_results 4 + flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: aarch64-windows-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: aarch64-windows-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' run: |- flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 - flowey.exe e 19 flowey_lib_common::publish_test_results 4 - flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 19 flowey_lib_common::publish_test_results 7 flowey.exe e 19 flowey_lib_common::publish_test_results 8 - flowey.exe e 19 flowey_lib_common::publish_test_results 9 - flowey.exe v 19 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 19 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 19 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: aarch64-windows-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -3272,6 +3207,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 19 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish aarch64-windows-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: aarch64-windows-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results/ + include-hidden-files: true job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3463,24 +3405,28 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-hypestv uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ @@ -3849,36 +3795,42 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-pipette uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-prep_steps uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-tmk_vmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ @@ -4078,24 +4030,28 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-hypestv uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ @@ -4349,36 +4305,42 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-pipette uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-prep_steps uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-tmk_vmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/ @@ -4654,42 +4616,49 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-guest_test_uefi uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-tmks uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-tmks path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ @@ -5007,48 +4976,56 @@ jobs: shell: bash - name: 🌼📦 Publish x64-guest_test_uefi uses: actions/upload-artifact@v4 + if: success() with: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ include-hidden-files: true - name: 🌼📦 Publish x64-tmks uses: actions/upload-artifact@v4 + if: success() with: name: x64-tmks path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ @@ -5376,30 +5353,35 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v4 + if: success() 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@v4 + if: success() with: name: aarch64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-baseline uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-openhcl-baseline path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-baseline/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm-extras uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ @@ -5821,30 +5803,35 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-musl-pipette uses: actions/upload-artifact@v4 + if: success() 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@v4 + if: success() with: name: x64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-baseline uses: actions/upload-artifact@v4 + if: success() with: name: x64-openhcl-baseline path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-baseline/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm uses: actions/upload-artifact@v4 + if: success() with: name: x64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm-extras uses: actions/upload-artifact@v4 + if: success() with: name: x64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ diff --git a/.github/workflows/openvmm-docs-ci.yaml b/.github/workflows/openvmm-docs-ci.yaml index b72459c45f..4eccc84a28 100644 --- a/.github/workflows/openvmm-docs-ci.yaml +++ b/.github/workflows/openvmm-docs-ci.yaml @@ -169,6 +169,7 @@ jobs: shell: bash - name: 🌼📦 Publish guide uses: actions/upload-artifact@v4 + if: success() with: name: guide path: ${{ runner.temp }}/publish_artifacts/guide/ @@ -334,6 +335,7 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-rustdoc uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-rustdoc path: ${{ runner.temp }}/publish_artifacts/x64-windows-rustdoc/ @@ -505,6 +507,7 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-rustdoc uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-rustdoc path: ${{ runner.temp }}/publish_artifacts/x64-linux-rustdoc/ diff --git a/.github/workflows/openvmm-docs-pr.yaml b/.github/workflows/openvmm-docs-pr.yaml index acb3d90e9d..ef395fba9c 100644 --- a/.github/workflows/openvmm-docs-pr.yaml +++ b/.github/workflows/openvmm-docs-pr.yaml @@ -177,6 +177,7 @@ jobs: shell: bash - name: 🌼📦 Publish guide uses: actions/upload-artifact@v4 + if: success() with: name: guide path: ${{ runner.temp }}/publish_artifacts/guide/ @@ -342,6 +343,7 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-rustdoc uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-rustdoc path: ${{ runner.temp }}/publish_artifacts/x64-windows-rustdoc/ @@ -513,6 +515,7 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-rustdoc uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-rustdoc path: ${{ runner.temp }}/publish_artifacts/x64-linux-rustdoc/ diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 6dc794b65f..20e8979645 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -437,7 +437,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 10 flowey_lib_common::git_checkout 0 - flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -445,7 +445,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -465,14 +465,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 4 - flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -539,14 +539,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 0 - flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -586,17 +586,7 @@ jobs: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 10 flowey_lib_common::publish_test_results 0 flowey.exe e 10 flowey_lib_common::publish_test_results 1 - flowey.exe e 10 flowey_lib_common::publish_test_results 2 - flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -710,14 +700,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 4 - flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -736,7 +726,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 11 flowey_lib_common::git_checkout 0 - flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -744,7 +734,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -837,14 +827,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 0 - flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -889,17 +879,7 @@ jobs: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 11 flowey_lib_common::publish_test_results 0 flowey e 11 flowey_lib_common::publish_test_results 1 - flowey e 11 flowey_lib_common::publish_test_results 2 - flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1004,7 +984,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1012,7 +992,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1036,14 +1016,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1143,14 +1123,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1195,17 +1175,7 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 - flowey e 12 flowey_lib_common::publish_test_results 2 - flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-musl-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1308,14 +1278,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 0 - flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1343,7 +1313,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 13 flowey_lib_common::git_checkout 0 - flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1351,7 +1321,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1371,14 +1341,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 4 - flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1426,17 +1396,7 @@ jobs: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 13 flowey_lib_common::publish_test_results 0 flowey.exe e 13 flowey_lib_common::publish_test_results 1 - flowey.exe e 13 flowey_lib_common::publish_test_results 2 - flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1486,6 +1446,8 @@ jobs: cat <<'EOF' | flowey.exe v 14 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1508,14 +1470,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1528,7 +1490,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1536,7 +1498,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1568,14 +1530,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1599,14 +1561,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1637,14 +1599,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 12 - flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1684,48 +1646,36 @@ jobs: flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 14 flowey_lib_common::publish_test_results 3 - flowey.exe e 14 flowey_lib_common::publish_test_results 5 flowey.exe e 14 flowey_lib_common::publish_test_results 2 - flowey.exe v 14 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey.exe e 14 flowey_lib_common::publish_test_results 3 + flowey.exe e 14 flowey_lib_common::publish_test_results 4 + flowey.exe v 14 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-intel-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' run: |- flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 - flowey.exe e 14 flowey_lib_common::publish_test_results 4 - flowey.exe v 14 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 14 flowey_lib_common::publish_test_results 7 flowey.exe e 14 flowey_lib_common::publish_test_results 8 - flowey.exe e 14 flowey_lib_common::publish_test_results 9 - flowey.exe v 14 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 14 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 14 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 14 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-intel-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -1743,6 +1693,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 14 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-intel-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results/ + include-hidden-files: true job15: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -1782,6 +1739,8 @@ jobs: cat <<'EOF' | flowey.exe v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1804,14 +1763,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1824,7 +1783,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1832,7 +1791,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1864,14 +1823,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1895,14 +1854,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1933,14 +1892,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1985,48 +1944,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 5 flowey.exe e 15 flowey_lib_common::publish_test_results 2 - flowey.exe v 15 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-tdx-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-intel-tdx-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: |- flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_common::publish_test_results 4 - flowey.exe v 15 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 15 flowey_lib_common::publish_test_results 7 flowey.exe e 15 flowey_lib_common::publish_test_results 8 - flowey.exe e 15 flowey_lib_common::publish_test_results 9 - flowey.exe v 15 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 15 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 15 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2044,6 +1991,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 15 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-intel-tdx-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results/ + include-hidden-files: true job16: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2081,6 +2035,8 @@ jobs: cat <<'EOF' | flowey.exe v 16 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results" | flowey.exe v 16 'artifact_publish_from_x64-windows-amd-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 16 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2103,14 +2059,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2123,7 +2079,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2131,7 +2087,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2163,14 +2119,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2194,14 +2150,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2232,14 +2188,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2279,48 +2235,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 5 flowey.exe e 16 flowey_lib_common::publish_test_results 2 - flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-amd-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' run: |- flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_common::publish_test_results 4 - flowey.exe v 16 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 flowey.exe e 16 flowey_lib_common::publish_test_results 8 - flowey.exe e 16 flowey_lib_common::publish_test_results 9 - flowey.exe v 16 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 16 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-amd-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2338,6 +2282,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 16 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-amd-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results/ + include-hidden-files: true job17: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2377,6 +2328,8 @@ jobs: cat <<'EOF' | flowey.exe v 17 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2399,14 +2352,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2419,7 +2372,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2427,7 +2380,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2459,14 +2412,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2490,14 +2443,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2528,14 +2481,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2580,48 +2533,36 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 5 flowey.exe e 17 flowey_lib_common::publish_test_results 2 - flowey.exe v 17 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey.exe e 17 flowey_lib_common::publish_test_results 3 + flowey.exe e 17 flowey_lib_common::publish_test_results 4 + flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-snp-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-amd-snp-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: |- flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - flowey.exe e 17 flowey_lib_common::publish_test_results 4 - flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 17 flowey_lib_common::publish_test_results 7 flowey.exe e 17 flowey_lib_common::publish_test_results 8 - flowey.exe e 17 flowey_lib_common::publish_test_results 9 - flowey.exe v 17 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 17 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 17 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2639,6 +2580,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 17 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-amd-snp-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results/ + include-hidden-files: true job18: name: run vmm-tests [x64-linux] runs-on: @@ -2676,6 +2624,8 @@ jobs: cat <<'EOF' | flowey v 18 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" | flowey v 18 'artifact_publish_from_x64-linux-vmm-tests-results' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2697,14 +2647,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 4 - flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2717,7 +2667,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 18 flowey_lib_common::git_checkout 0 - flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2725,7 +2675,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2752,14 +2702,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 0 - flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2789,14 +2739,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 8 - flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2827,14 +2777,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 12 - flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2874,48 +2824,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 18 flowey_lib_common::publish_test_results 3 - flowey e 18 flowey_lib_common::publish_test_results 5 flowey e 18 flowey_lib_common::publish_test_results 2 - flowey v 18 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-linux-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-linux-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' run: |- flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 - flowey e 18 flowey_lib_common::publish_test_results 4 - flowey v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey e 18 flowey_lib_common::publish_test_results 7 flowey e 18 flowey_lib_common::publish_test_results 8 - flowey e 18 flowey_lib_common::publish_test_results 9 - flowey v 18 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey v 18 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey v 18 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-linux-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2933,6 +2871,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey e 18 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-linux-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-linux-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results/ + include-hidden-files: true job19: name: run vmm-tests [aarch64-windows] runs-on: @@ -3020,6 +2965,8 @@ jobs: cat <<'EOF' | flowey.exe v 19 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results" | flowey.exe v 19 'artifact_publish_from_aarch64-windows-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update @@ -3040,14 +2987,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3060,7 +3007,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3068,7 +3015,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3099,14 +3046,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3130,14 +3077,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3168,14 +3115,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3215,48 +3162,36 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 19 flowey_lib_common::publish_test_results 3 - flowey.exe e 19 flowey_lib_common::publish_test_results 5 flowey.exe e 19 flowey_lib_common::publish_test_results 2 - flowey.exe v 19 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey.exe e 19 flowey_lib_common::publish_test_results 3 + flowey.exe e 19 flowey_lib_common::publish_test_results 4 + flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: aarch64-windows-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: aarch64-windows-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' run: |- flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 - flowey.exe e 19 flowey_lib_common::publish_test_results 4 - flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 19 flowey_lib_common::publish_test_results 7 flowey.exe e 19 flowey_lib_common::publish_test_results 8 - flowey.exe e 19 flowey_lib_common::publish_test_results 9 - flowey.exe v 19 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 19 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 19 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: aarch64-windows-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -3274,6 +3209,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 19 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish aarch64-windows-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: aarch64-windows-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results/ + include-hidden-files: true job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3465,24 +3407,28 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-hypestv uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ @@ -3851,36 +3797,42 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-pipette uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-prep_steps uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-tmk_vmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ @@ -4080,24 +4032,28 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-hypestv uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ @@ -4351,36 +4307,42 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-pipette uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-prep_steps uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-tmk_vmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/ @@ -4656,42 +4618,49 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-guest_test_uefi uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-tmks uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-tmks path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ @@ -5009,48 +4978,56 @@ jobs: shell: bash - name: 🌼📦 Publish x64-guest_test_uefi uses: actions/upload-artifact@v4 + if: success() with: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ include-hidden-files: true - name: 🌼📦 Publish x64-tmks uses: actions/upload-artifact@v4 + if: success() with: name: x64-tmks path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ @@ -5357,24 +5334,28 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v4 + if: success() 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@v4 + if: success() with: name: aarch64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm-extras uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ @@ -5778,24 +5759,28 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-musl-pipette uses: actions/upload-artifact@v4 + if: success() 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@v4 + if: success() with: name: x64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm uses: actions/upload-artifact@v4 + if: success() with: name: x64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm-extras uses: actions/upload-artifact@v4 + if: success() with: name: x64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 6d3bd1f7d1..3c078a6421 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -684,7 +684,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 11 flowey_lib_common::git_checkout 0 - flowey.exe v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -692,7 +692,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -712,14 +712,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 11 flowey_lib_common::cache 4 - flowey.exe v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -786,14 +786,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 11 flowey_lib_common::cache 0 - flowey.exe v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -833,17 +833,7 @@ jobs: flowey.exe e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 11 flowey_lib_common::publish_test_results 0 flowey.exe e 11 flowey_lib_common::publish_test_results 1 - flowey.exe e 11 flowey_lib_common::publish_test_results 2 - flowey.exe v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey.exe v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -957,14 +947,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -983,7 +973,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -991,7 +981,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1084,14 +1074,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1136,17 +1126,7 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 - flowey e 12 flowey_lib_common::publish_test_results 2 - flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1251,7 +1231,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 13 flowey_lib_common::git_checkout 0 - flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1259,7 +1239,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1283,14 +1263,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 13 flowey_lib_common::cache 4 - flowey v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1390,14 +1370,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 13 flowey_lib_common::cache 0 - flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1442,17 +1422,7 @@ jobs: flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 13 flowey_lib_common::publish_test_results 0 flowey e 13 flowey_lib_common::publish_test_results 1 - flowey e 13 flowey_lib_common::publish_test_results 2 - flowey v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-musl-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1555,14 +1525,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1590,7 +1560,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1598,7 +1568,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1618,14 +1588,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1673,17 +1643,7 @@ jobs: flowey.exe e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 - flowey.exe e 14 flowey_lib_common::publish_test_results 2 - flowey.exe v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar1 - flowey.exe v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1733,6 +1693,8 @@ jobs: cat <<'EOF' | flowey.exe v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1755,14 +1717,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1775,7 +1737,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1783,7 +1745,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1815,14 +1777,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1846,14 +1808,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1884,14 +1846,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1931,48 +1893,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 5 flowey.exe e 15 flowey_lib_common::publish_test_results 2 - flowey.exe v 15 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-intel-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' run: |- flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_common::publish_test_results 4 - flowey.exe v 15 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 15 flowey_lib_common::publish_test_results 7 flowey.exe e 15 flowey_lib_common::publish_test_results 8 - flowey.exe e 15 flowey_lib_common::publish_test_results 9 - flowey.exe v 15 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 15 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 15 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-intel-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -1990,6 +1940,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 15 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-intel-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results/ + include-hidden-files: true job16: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -2029,6 +1986,8 @@ jobs: cat <<'EOF' | flowey.exe v 16 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results" | flowey.exe v 16 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 16 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2051,14 +2010,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2071,7 +2030,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2079,7 +2038,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2111,14 +2070,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2142,14 +2101,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2180,14 +2139,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2232,48 +2191,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 5 flowey.exe e 16 flowey_lib_common::publish_test_results 2 - flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-tdx-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-intel-tdx-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: |- flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_common::publish_test_results 4 - flowey.exe v 16 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 flowey.exe e 16 flowey_lib_common::publish_test_results 8 - flowey.exe e 16 flowey_lib_common::publish_test_results 9 - flowey.exe v 16 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 16 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2291,6 +2238,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 16 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-intel-tdx-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results/ + include-hidden-files: true job17: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2328,6 +2282,8 @@ jobs: cat <<'EOF' | flowey.exe v 17 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2350,14 +2306,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2370,7 +2326,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2378,7 +2334,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2410,14 +2366,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2441,14 +2397,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2479,14 +2435,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2526,48 +2482,36 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 5 flowey.exe e 17 flowey_lib_common::publish_test_results 2 - flowey.exe v 17 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey.exe e 17 flowey_lib_common::publish_test_results 3 + flowey.exe e 17 flowey_lib_common::publish_test_results 4 + flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-amd-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' run: |- flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - flowey.exe e 17 flowey_lib_common::publish_test_results 4 - flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 17 flowey_lib_common::publish_test_results 7 flowey.exe e 17 flowey_lib_common::publish_test_results 8 - flowey.exe e 17 flowey_lib_common::publish_test_results 9 - flowey.exe v 17 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 17 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 17 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-amd-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2585,6 +2529,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 17 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-amd-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results/ + include-hidden-files: true job18: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2624,6 +2575,8 @@ jobs: cat <<'EOF' | flowey.exe v 18 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results" | flowey.exe v 18 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2646,14 +2599,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 4 - flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2666,7 +2619,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 18 flowey_lib_common::git_checkout 0 - flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2674,7 +2627,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2706,14 +2659,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 0 - flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2737,14 +2690,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 8 - flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2775,14 +2728,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 12 - flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2827,48 +2780,36 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 18 flowey_lib_common::publish_test_results 3 - flowey.exe e 18 flowey_lib_common::publish_test_results 5 flowey.exe e 18 flowey_lib_common::publish_test_results 2 - flowey.exe v 18 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + 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:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-snp-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-amd-snp-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: |- flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 18 flowey_lib_common::publish_test_results 4 - flowey.exe v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 6 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 18 flowey_lib_common::publish_test_results 7 flowey.exe e 18 flowey_lib_common::publish_test_results 8 - flowey.exe e 18 flowey_lib_common::publish_test_results 9 - flowey.exe v 18 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 18 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 18 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -2886,6 +2827,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 18 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-windows-amd-snp-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results/ + include-hidden-files: true job19: name: run vmm-tests [x64-linux] runs-on: @@ -2923,6 +2871,8 @@ jobs: cat <<'EOF' | flowey v 19 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" | flowey v 19 'artifact_publish_from_x64-linux-vmm-tests-results' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2944,14 +2894,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 4 - flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2964,7 +2914,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 19 flowey_lib_common::git_checkout 0 - flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2972,7 +2922,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2999,14 +2949,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -3036,14 +2986,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 8 - flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3074,14 +3024,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 12 - flowey v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3121,48 +3071,36 @@ jobs: flowey e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 19 flowey_lib_common::publish_test_results 3 - flowey e 19 flowey_lib_common::publish_test_results 5 flowey e 19 flowey_lib_common::publish_test_results 2 - flowey v 19 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey e 19 flowey_lib_common::publish_test_results 3 + flowey e 19 flowey_lib_common::publish_test_results 4 + flowey v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: x64-linux-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: x64-linux-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' run: |- flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 19 flowey_lib_common::publish_test_results 0 flowey e 19 flowey_lib_common::publish_test_results 1 - flowey e 19 flowey_lib_common::publish_test_results 4 - flowey v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey e 19 flowey_lib_common::publish_test_results 6 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey e 19 flowey_lib_common::publish_test_results 7 flowey e 19 flowey_lib_common::publish_test_results 8 - flowey e 19 flowey_lib_common::publish_test_results 9 - flowey v 19 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey v 19 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey v 19 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey v 19 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: x64-linux-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -3180,6 +3118,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey e 19 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish x64-linux-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: x64-linux-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results/ + include-hidden-files: true job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3371,24 +3316,28 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-hypestv uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ @@ -3480,6 +3429,8 @@ jobs: cat <<'EOF' | flowey.exe v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results" | flowey.exe v 20 'artifact_publish_from_aarch64-windows-vmm-tests-results' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update @@ -3500,14 +3451,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 4 - flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3520,7 +3471,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 20 flowey_lib_common::git_checkout 0 - flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar4 + flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 flowey.exe v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3528,7 +3479,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar4 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3559,14 +3510,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3590,14 +3541,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3628,14 +3579,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 12 - flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3675,48 +3626,36 @@ jobs: flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 20 flowey_lib_common::publish_test_results 3 - flowey.exe e 20 flowey_lib_common::publish_test_results 5 flowey.exe e 20 flowey_lib_common::publish_test_results 2 - flowey.exe v 20 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 + flowey.exe e 20 flowey_lib_common::publish_test_results 3 + flowey.exe e 20 flowey_lib_common::publish_test_results 4 + flowey.exe v 20 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:110:67' --is-raw-string --condvar flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28 write-to-env github floweyvar1 flowey.exe v 20 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:85:28' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 + - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@v4 with: name: aarch64-windows-vmm-tests-nextest-list-json path: ${{ env.floweyvar1 }} name: 'publish test results: aarch64-windows-vmm-tests (nextest list JSON)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps + - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' run: |- flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 20 flowey_lib_common::publish_test_results 0 flowey.exe e 20 flowey_lib_common::publish_test_results 1 - flowey.exe e 20 flowey_lib_common::publish_test_results 4 - flowey.exe v 20 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:105:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43 write-to-env github floweyvar2 - flowey.exe v 20 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:80:43' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 🦀 flowey rust steps - run: |- + flowey.exe e 20 flowey_lib_common::publish_test_results 6 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 20 flowey_lib_common::publish_test_results 7 flowey.exe e 20 flowey_lib_common::publish_test_results 8 - flowey.exe e 20 flowey_lib_common::publish_test_results 9 - flowey.exe v 20 'flowey_lib_common::publish_test_results:16:flowey_lib_common/src/publish_test_results.rs:181:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57 write-to-env github floweyvar3 - flowey.exe v 20 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:173:57' write-to-env github FLOWEY_CONDITION + flowey.exe v 20 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:206:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57 write-to-env github floweyvar2 + flowey.exe v 20 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs:198:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__10 + - id: flowey_lib_common__publish_test_results__9 uses: actions/upload-artifact@v4 with: name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar2 }} name: 'publish test results: aarch64-windows-vmm-tests (logs)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status @@ -3734,6 +3673,13 @@ jobs: - name: 'validate cache entry: gh-release-download' run: flowey.exe e 20 flowey_lib_common::cache 15 shell: bash + - name: 🌼📦 Publish aarch64-windows-vmm-tests-results + uses: actions/upload-artifact@v4 + if: always() + with: + name: aarch64-windows-vmm-tests-results + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results/ + include-hidden-files: true job21: name: test flowey local backend runs-on: @@ -4157,36 +4103,42 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-pipette uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-prep_steps uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-tmk_vmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ @@ -4386,24 +4338,28 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-hypestv uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ @@ -4657,36 +4613,42 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-pipette uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-prep_steps uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-tmk_vmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: x64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/ @@ -4962,42 +4924,49 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-guest_test_uefi uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-tmks uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-tmks path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ @@ -5315,48 +5284,56 @@ jobs: shell: bash - name: 🌼📦 Publish x64-guest_test_uefi uses: actions/upload-artifact@v4 + if: success() with: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-igvmfilegen uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-openvmm uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgs_lib uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgstool uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@v4 + if: success() with: name: x64-linux-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ include-hidden-files: true - name: 🌼📦 Publish x64-tmks uses: actions/upload-artifact@v4 + if: success() with: name: x64-tmks path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ @@ -5663,24 +5640,28 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v4 + if: success() 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@v4 + if: success() with: name: aarch64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm-extras uses: actions/upload-artifact@v4 + if: success() with: name: aarch64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ @@ -6084,24 +6065,28 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-musl-pipette uses: actions/upload-artifact@v4 + if: success() 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@v4 + if: success() with: name: x64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm uses: actions/upload-artifact@v4 + if: success() with: name: x64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm-extras uses: actions/upload-artifact@v4 + if: success() with: name: x64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 975d0ac39d..f03c09622c 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -68,11 +68,11 @@ impl FlowNode for Node { { resolve_side_effects.push(done); - if output_dir.is_some() && !matches!(ctx.backend(), FlowBackend::Local) { - anyhow::bail!( - "Copying to a custom output directory is only supported on local backend." - ) - } + // if output_dir.is_some() && !matches!(ctx.backend(), FlowBackend::Local) { + // anyhow::bail!( + // "Copying to a custom output directory is only supported on local backend." + // ) + // } let step_name = format!("publish test results: {label} (JUnit XML)"); let artifact_name = format!("{label}-junit-xml"); @@ -102,9 +102,9 @@ impl FlowNode for Node { })); } FlowBackend::Github => { - let junit_xml = junit_xml.map(ctx, |p| { - p.absolute().expect("invalid path").display().to_string() - }); + // let junit_xml = junit_xml.map(ctx, |p| { + // p.absolute().expect("invalid path").display().to_string() + // }); if let Some(nextest_list_json) = nextest_list_json { let nextest_list_json = nextest_list_json.map(ctx, |p| { @@ -125,17 +125,42 @@ impl FlowNode for Node { ); } - // Note: usually flowey's built-in artifact publishing API - // should be used instead of this, but here we need to - // manually upload the artifact now so that it is still - // uploaded even if the pipeline fails. - use_side_effects.push( - ctx.emit_gh_step(step_name, "actions/upload-artifact@v4") - .condition(has_junit_xml) - .with("name", artifact_name) - .with("path", junit_xml) - .finish(ctx), - ); + // // Note: usually flowey's built-in artifact publishing API + // // should be used instead of this, but here we need to + // // manually upload the artifact now so that it is still + // // uploaded even if the pipeline fails. + // use_side_effects.push( + // ctx.emit_gh_step(step_name, "actions/upload-artifact@v4") + // .condition(has_junit_xml) + // .with("name", artifact_name) + // .with("path", junit_xml) + // .finish(ctx), + // ); + if let Some(output_dir) = output_dir.clone() { + use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { + let output_dir = output_dir.claim(ctx); + let has_junit_xml = has_junit_xml.claim(ctx); + let junit_xml = junit_xml.claim(ctx); + + move |rt| { + let output_dir = rt.read(output_dir); + let has_junit_xml = rt.read(has_junit_xml); + let junit_xml = rt.read(junit_xml); + + if has_junit_xml { + fs_err::copy( + junit_xml, + output_dir.join(format!("{artifact_name}.xml")), + )?; + } + + Ok(()) + } + })); + } else { + use_side_effects.push(has_junit_xml.into_side_effect()); + use_side_effects.push(junit_xml.into_side_effect()); + } } FlowBackend::Local => { if let Some(output_dir) = output_dir.clone() { diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index 38a33f4923..575b500e45 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -240,6 +240,7 @@ impl FlowNode for Node { Some(list_cmd) } }; + let has_list_cmd = list_cmd.is_some(); let cmd = ctx.reqv(|v| crate::gen_cargo_nextest_run_cmd::Request { run_kind_deps, @@ -269,7 +270,7 @@ impl FlowNode for Node { let list_cmd = list_cmd.claim(ctx); let cmd = cmd.claim(ctx); - let nextest_list_output_file_write = if list_cmd.is_some() { + let nextest_list_output_file_write = if has_list_cmd { Some(nextest_list_output_file_write.claim(ctx)) } else { None @@ -419,10 +420,11 @@ impl FlowNode for Node { let mut file = fs_err::File::create_new(output_path.clone())?; file.write_all(nextest_list_json.to_string().as_bytes())?; - rt.write( - nextest_list_output_file_write.unwrap(), - &output_path.absolute()?, - ); + if let Some(nextest_list_output_file_write) = + nextest_list_output_file_write + { + rt.write(nextest_list_output_file_write, &output_path.absolute()?); + } } } @@ -433,20 +435,25 @@ impl FlowNode for Node { ctx.emit_minor_rust_step("write results", |ctx| { let all_tests_passed = all_tests_passed_read.claim(ctx); let junit_xml = junit_xml_read.claim(ctx); - let nextest_list_output = nextest_list_output_file_read.claim(ctx); + let nextest_list_output = if has_list_cmd { + Some(nextest_list_output_file_read.claim(ctx)) + } else { + None + }; let results = results.claim(ctx); move |rt| { let all_tests_passed = rt.read(all_tests_passed); let junit_xml = rt.read(junit_xml); - let nextest_list_output = rt.read(nextest_list_output); + + let nextest_list_output = nextest_list_output.map(|v| rt.read(v)); rt.write( results, &TestResults { all_tests_passed, junit_xml, - nextest_list_output: Some(nextest_list_output), + nextest_list_output, }, ); } From 33381cf7f6d286af0ae36e4acb570d1e566b8b4a Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 14:48:05 -0700 Subject: [PATCH 06/37] Try new job --- .github/workflows/openvmm-ci.yaml | 1078 ++++++++-------- .github/workflows/openvmm-pr-release.yaml | 1078 ++++++++-------- .github/workflows/openvmm-pr.yaml | 1119 ++++++++--------- .../src/pipelines/checkin_gates.rs | 43 +- .../src/publish_test_results.rs | 61 +- 5 files changed, 1667 insertions(+), 1712 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 7e768ff67b..35e07187a9 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1458,55 +1458,8 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 - shell: bash - - id: flowey_lib_common__cache__5 - uses: actions/cache@v4 - with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.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-6/flowey + + echo '"debug"' | flowey v 20 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 20 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 20 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + shell: bash + - name: collect test names from junit logs + run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + shell: bash + job21: name: test flowey local backend runs-on: - self-hosted @@ -3502,18 +3492,18 @@ jobs: chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey v 20 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 20 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 21 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 21 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 20 'verbose' update + cat <<'EOF' | flowey v 21 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 20 flowey_lib_common::git_checkout 0 - flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 - flowey v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION + flowey e 21 flowey_lib_common::git_checkout 0 + flowey v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v4 @@ -3525,24 +3515,24 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 20 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --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-6/flowey + + echo '"debug"' | flowey v 20 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 20 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 20 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + shell: bash + - name: collect test names from junit logs + run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + shell: bash + job21: name: test flowey local backend runs-on: - self-hosted @@ -3504,18 +3494,18 @@ jobs: chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey v 20 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 20 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 21 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 21 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 20 'verbose' update + cat <<'EOF' | flowey v 21 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 20 flowey_lib_common::git_checkout 0 - flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 - flowey v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION + flowey e 21 flowey_lib_common::git_checkout 0 + flowey v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v4 @@ -3527,24 +3517,24 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 20 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --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-7/flowey + + echo '"debug"' | flowey v 21 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 21 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 21 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + shell: bash + - name: collect test names from junit logs + run: flowey e 21 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + shell: bash + job22: name: test flowey local backend runs-on: - self-hosted @@ -3751,18 +3741,18 @@ jobs: chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey v 21 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 21 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 22 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 22 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 21 'verbose' update + cat <<'EOF' | flowey v 22 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 21 flowey_lib_common::git_checkout 0 - flowey v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 - flowey v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION + flowey e 22 flowey_lib_common::git_checkout 0 + flowey v 22 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 22 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v4 @@ -3774,26 +3764,26 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 21 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace < &use_vmm_tests_archive_windows_x86, @@ -1053,25 +1053,28 @@ impl IntoPipeline for CheckinGatesCli { all_jobs.push(vmm_tests_run_job.finish()); } - // { - // let job = pipeline - // .new_job( - // FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), - // FlowArch::X86_64, - // "verify all tests run at least once", - // ) - // .gh_set_pool(crate::pipelines_shared::gh_pools::default_x86_pool( - // FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), - // )) - // .dep_on( - // |ctx| flowey_lib_hvlite::_jobs::verify_all_tests_run::Request { - // test_artifacts: - // done: ctx.new_done_handle(), - // }, - // ) - // .finish(); - // all_jobs.push(job); - // } + { + let job = pipeline + .new_job( + FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), + FlowArch::X86_64, + "verify all tests run at least once", + ) + .gh_set_pool(crate::pipelines_shared::gh_pools::default_x86_pool( + FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), + )) + .dep_on( + |ctx| flowey_lib_hvlite::_jobs::verify_all_tests_run::Request { + test_artifacts: vmm_tests_results_artifacts + .iter() + .map(|elem| (elem.0.clone(), ctx.use_artifact(&elem.1))) + .collect(), + done: ctx.new_done_handle(), + }, + ) + .finish(); + all_jobs.push(job); + } // test the flowey local backend by running cargo xflowey build-igvm on x64 { diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index f03c09622c..3c00fa72cc 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -68,12 +68,6 @@ impl FlowNode for Node { { resolve_side_effects.push(done); - // if output_dir.is_some() && !matches!(ctx.backend(), FlowBackend::Local) { - // anyhow::bail!( - // "Copying to a custom output directory is only supported on local backend." - // ) - // } - let step_name = format!("publish test results: {label} (JUnit XML)"); let artifact_name = format!("{label}-junit-xml"); @@ -102,51 +96,31 @@ impl FlowNode for Node { })); } FlowBackend::Github => { - // let junit_xml = junit_xml.map(ctx, |p| { - // p.absolute().expect("invalid path").display().to_string() - // }); - - if let Some(nextest_list_json) = nextest_list_json { - let nextest_list_json = nextest_list_json.map(ctx, |p| { - p.absolute().expect("invalid path").display().to_string() - }); - - let has_nextest_list = has_nextest_list.unwrap(); - - use_side_effects.push( - ctx.emit_gh_step( - format!("publish test results: {label} (nextest list JSON)"), - "actions/upload-artifact@v4", - ) - .condition(has_nextest_list) - .with("name", format!("{label}-nextest-list-json")) - .with("path", nextest_list_json) - .finish(ctx), - ); - } - - // // Note: usually flowey's built-in artifact publishing API - // // should be used instead of this, but here we need to - // // manually upload the artifact now so that it is still - // // uploaded even if the pipeline fails. - // use_side_effects.push( - // ctx.emit_gh_step(step_name, "actions/upload-artifact@v4") - // .condition(has_junit_xml) - // .with("name", artifact_name) - // .with("path", junit_xml) - // .finish(ctx), - // ); if let Some(output_dir) = output_dir.clone() { use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { let output_dir = output_dir.claim(ctx); let has_junit_xml = has_junit_xml.claim(ctx); let junit_xml = junit_xml.claim(ctx); + let has_nextest_list = has_nextest_list.claim(ctx); + let nextest_list_json = nextest_list_json.claim(ctx); + let label = label.clone(); move |rt| { let output_dir = rt.read(output_dir); let has_junit_xml = rt.read(has_junit_xml); let junit_xml = rt.read(junit_xml); + let has_nextest_list = if let Some(v) = has_nextest_list { + rt.read(v) + } else { + false + }; + let nextest_list_json = if let Some(v) = nextest_list_json { + rt.read(v) + } else { + PathBuf::new() + }; + if has_junit_xml { fs_err::copy( junit_xml, @@ -154,6 +128,13 @@ impl FlowNode for Node { )?; } + if has_nextest_list { + fs_err::copy( + nextest_list_json, + output_dir.join(format!("{label}-nextest-list.json")), + )?; + } + Ok(()) } })); From c46f87f513cfd32636c4a614ddf7e97055b10025 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 14:57:30 -0700 Subject: [PATCH 07/37] condense --- .github/workflows/openvmm-ci.yaml | 318 ++++++++---------- .github/workflows/openvmm-pr-release.yaml | 318 ++++++++---------- .github/workflows/openvmm-pr.yaml | 318 ++++++++---------- .../src/publish_test_results.rs | 93 ++--- 4 files changed, 436 insertions(+), 611 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 35e07187a9..7ad42babb4 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1479,14 +1479,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1510,14 +1510,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1548,14 +1548,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 12 - flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1584,14 +1584,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1604,7 +1604,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1612,7 +1612,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1644,27 +1644,20 @@ jobs: flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_common::publish_test_results 5 - flowey.exe v 14 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 14 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' run: |- + flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 14 flowey_lib_common::publish_test_results 2 flowey.exe e 14 flowey_lib_common::publish_test_results 3 - flowey.exe e 14 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + run: flowey.exe e 14 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -1762,14 +1755,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1793,14 +1786,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1831,14 +1824,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1867,14 +1860,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1887,7 +1880,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1895,7 +1888,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1932,27 +1925,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_common::publish_test_results 5 - flowey.exe v 15 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 15 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::publish_test_results 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2048,14 +2034,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2079,14 +2065,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2117,14 +2103,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2153,14 +2139,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2173,7 +2159,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2181,7 +2167,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2213,27 +2199,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_common::publish_test_results 5 - flowey.exe v 16 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::publish_test_results 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2331,14 +2310,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2362,14 +2341,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2400,14 +2379,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2436,14 +2415,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2456,7 +2435,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2464,7 +2443,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2501,27 +2480,20 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_common::publish_test_results 5 - flowey.exe v 17 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 17 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::publish_test_results 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2608,14 +2580,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 0 - flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2645,14 +2617,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 8 - flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2683,14 +2655,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 12 - flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2722,14 +2694,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 4 - flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2742,7 +2714,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 18 flowey_lib_common::git_checkout 0 - flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2750,7 +2722,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2782,27 +2754,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_common::publish_test_results 5 - flowey v 18 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey v 18 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-linux-vmm-tests (logs)' run: |- + flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 18 flowey_lib_common::publish_test_results 2 flowey e 18 flowey_lib_common::publish_test_results 3 - flowey e 18 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + run: flowey e 18 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2945,14 +2910,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2976,14 +2941,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3014,14 +2979,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3050,14 +3015,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3070,7 +3035,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3078,7 +3043,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3110,27 +3075,20 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_common::publish_test_results 5 - flowey.exe v 19 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 19 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'publish test results: aarch64-windows-vmm-tests (logs)' run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::publish_test_results 3 - flowey.exe e 19 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + run: flowey.exe e 19 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 32948ca6de..0d375f57d8 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -1481,14 +1481,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1512,14 +1512,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1550,14 +1550,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 12 - flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1586,14 +1586,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1606,7 +1606,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1614,7 +1614,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1646,27 +1646,20 @@ jobs: flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_common::publish_test_results 5 - flowey.exe v 14 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 14 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' run: |- + flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 14 flowey_lib_common::publish_test_results 2 flowey.exe e 14 flowey_lib_common::publish_test_results 3 - flowey.exe e 14 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + run: flowey.exe e 14 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -1764,14 +1757,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1795,14 +1788,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1833,14 +1826,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1869,14 +1862,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1889,7 +1882,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1897,7 +1890,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1934,27 +1927,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_common::publish_test_results 5 - flowey.exe v 15 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 15 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::publish_test_results 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2050,14 +2036,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2081,14 +2067,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2119,14 +2105,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2155,14 +2141,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2175,7 +2161,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2183,7 +2169,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2215,27 +2201,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_common::publish_test_results 5 - flowey.exe v 16 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::publish_test_results 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2333,14 +2312,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2364,14 +2343,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2402,14 +2381,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2438,14 +2417,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2458,7 +2437,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2466,7 +2445,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2503,27 +2482,20 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_common::publish_test_results 5 - flowey.exe v 17 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 17 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::publish_test_results 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2610,14 +2582,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 0 - flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2647,14 +2619,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 8 - flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2685,14 +2657,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 12 - flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2724,14 +2696,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 4 - flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2744,7 +2716,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 18 flowey_lib_common::git_checkout 0 - flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2752,7 +2724,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2784,27 +2756,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_common::publish_test_results 5 - flowey v 18 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey v 18 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-linux-vmm-tests (logs)' run: |- + flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 18 flowey_lib_common::publish_test_results 2 flowey e 18 flowey_lib_common::publish_test_results 3 - flowey e 18 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + run: flowey e 18 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2947,14 +2912,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2978,14 +2943,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3016,14 +2981,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3052,14 +3017,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3072,7 +3037,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3080,7 +3045,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3112,27 +3077,20 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_common::publish_test_results 5 - flowey.exe v 19 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 19 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'publish test results: aarch64-windows-vmm-tests (logs)' run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::publish_test_results 3 - flowey.exe e 19 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + run: flowey.exe e 19 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index c51881e2e6..8529f6ab8c 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -1728,14 +1728,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1759,14 +1759,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1797,14 +1797,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1833,14 +1833,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1853,7 +1853,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1861,7 +1861,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1893,27 +1893,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_common::publish_test_results 5 - flowey.exe v 15 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 15 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::publish_test_results 3 - flowey.exe e 15 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2011,14 +2004,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2042,14 +2035,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2080,14 +2073,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2116,14 +2109,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2136,7 +2129,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2144,7 +2137,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2181,27 +2174,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_common::publish_test_results 5 - flowey.exe v 16 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::publish_test_results 3 - flowey.exe e 16 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2297,14 +2283,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2328,14 +2314,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2366,14 +2352,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2402,14 +2388,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2422,7 +2408,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2430,7 +2416,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2462,27 +2448,20 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_common::publish_test_results 5 - flowey.exe v 17 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 17 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::publish_test_results 3 - flowey.exe e 17 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2580,14 +2559,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 0 - flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2611,14 +2590,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 8 - flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2649,14 +2628,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 12 - flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2685,14 +2664,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 4 - flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2705,7 +2684,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 18 flowey_lib_common::git_checkout 0 - flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2713,7 +2692,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2750,27 +2729,20 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 18 flowey_lib_common::publish_test_results 6 flowey.exe e 18 flowey_lib_common::publish_test_results 5 - flowey.exe v 18 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 18 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 6 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 18 flowey_lib_common::publish_test_results 2 flowey.exe e 18 flowey_lib_common::publish_test_results 3 - flowey.exe e 18 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + run: flowey.exe e 18 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2857,14 +2829,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2894,14 +2866,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 8 - flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2932,14 +2904,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 12 - flowey v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2971,14 +2943,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 4 - flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2991,7 +2963,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 19 flowey_lib_common::git_checkout 0 - flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2999,7 +2971,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3031,27 +3003,20 @@ jobs: flowey e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey e 19 flowey_lib_common::publish_test_results 6 flowey e 19 flowey_lib_common::publish_test_results 5 - flowey v 19 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey v 19 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-linux-vmm-tests (logs)' run: |- + flowey e 19 flowey_lib_common::publish_test_results 6 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 19 flowey_lib_common::publish_test_results 0 flowey e 19 flowey_lib_common::publish_test_results 1 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 19 flowey_lib_common::publish_test_results 2 flowey e 19 flowey_lib_common::publish_test_results 3 - flowey e 19 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + run: flowey e 19 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -3411,14 +3376,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3442,14 +3407,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3480,14 +3445,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 12 - flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3516,14 +3481,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 4 - flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3536,7 +3501,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 20 flowey_lib_common::git_checkout 0 - flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3544,7 +3509,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3576,27 +3541,20 @@ jobs: flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - flowey.exe e 20 flowey_lib_common::publish_test_results 6 flowey.exe e 20 flowey_lib_common::publish_test_results 5 - flowey.exe v 20 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:187:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57 write-to-env github floweyvar1 - flowey.exe v 20 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:179:57' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'publish test results: aarch64-windows-vmm-tests (logs)' run: |- + flowey.exe e 20 flowey_lib_common::publish_test_results 6 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 20 flowey_lib_common::publish_test_results 0 flowey.exe e 20 flowey_lib_common::publish_test_results 1 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 20 flowey_lib_common::publish_test_results 2 flowey.exe e 20 flowey_lib_common::publish_test_results 3 - flowey.exe e 20 flowey_lib_common::publish_test_results 4 + shell: bash + - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + run: flowey.exe e 20 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 3c00fa72cc..3dae1346de 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -95,7 +95,7 @@ impl FlowNode for Node { } })); } - FlowBackend::Github => { + FlowBackend::Github | FlowBackend::Local => { if let Some(output_dir) = output_dir.clone() { use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { let output_dir = output_dir.claim(ctx); @@ -143,33 +143,6 @@ impl FlowNode for Node { use_side_effects.push(junit_xml.into_side_effect()); } } - FlowBackend::Local => { - if let Some(output_dir) = output_dir.clone() { - use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { - let output_dir = output_dir.claim(ctx); - let has_junit_xml = has_junit_xml.claim(ctx); - let junit_xml = junit_xml.claim(ctx); - - move |rt| { - let output_dir = rt.read(output_dir); - let has_junit_xml = rt.read(has_junit_xml); - let junit_xml = rt.read(junit_xml); - - if has_junit_xml { - fs_err::copy( - junit_xml, - output_dir.join(format!("{artifact_name}.xml")), - )?; - } - - Ok(()) - } - })); - } else { - use_side_effects.push(has_junit_xml.into_side_effect()); - use_side_effects.push(junit_xml.into_side_effect()); - } - } } for (attachment_label, (attachment_path, publish_on_ado)) in attachments { @@ -184,58 +157,37 @@ impl FlowNode for Node { .next() .is_some()) }); - let attachment_path_string = attachment_path.map(ctx, |p| { - p.absolute().expect("invalid path").display().to_string() - }); match ctx.backend() { FlowBackend::Ado => { if publish_on_ado { - let (published_read, published_write) = ctx.new_var(); - use_side_effects.push(published_read); + use_side_effects.push(attachment_exists.into_side_effect()); + } else if let Some(output_dir) = output_dir.clone() { + use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { + let output_dir = output_dir.claim(ctx); + let attachment_exists = attachment_exists.claim(ctx); + let attachment_path = attachment_path.claim(ctx); - // Note: usually flowey's built-in artifact publishing API - // should be used instead of this, but here we need to - // manually upload the artifact now so that it is still - // uploaded even if the pipeline fails. - ctx.emit_ado_step_with_condition( - step_name.clone(), - attachment_exists, - |ctx| { - published_write.claim(ctx); - let attachment_path_string = attachment_path_string.claim(ctx); - move |rt| { - let path_var = - rt.get_var(attachment_path_string).as_raw_var_name(); - // Artifact name includes the JobAttempt to - // differentiate between artifacts that were - // generated when rerunning failed jobs. - format!( - r#" - - publish: $({path_var}) - artifact: {artifact_name}-$({}) - "#, - AdoRuntimeVar::SYSTEM__JOB_ATTEMPT.as_raw_var_name() - ) + move |rt| { + let output_dir = rt.read(output_dir); + let attachment_exists = rt.read(attachment_exists); + let attachment_path = rt.read(attachment_path); + + if attachment_exists { + copy_dir_all( + attachment_path, + output_dir.join(artifact_name), + )?; } - }, - ); + + Ok(()) + } + })); } else { use_side_effects.push(attachment_exists.into_side_effect()); - use_side_effects.push(attachment_path_string.into_side_effect()); } } - FlowBackend::Github => { - // See above comment about manually publishing artifacts - use_side_effects.push( - ctx.emit_gh_step(step_name.clone(), "actions/upload-artifact@v4") - .condition(attachment_exists) - .with("name", artifact_name) - .with("path", attachment_path_string) - .finish(ctx), - ); - } - FlowBackend::Local => { + FlowBackend::Github | FlowBackend::Local => { if let Some(output_dir) = output_dir.clone() { use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { let output_dir = output_dir.claim(ctx); @@ -260,7 +212,6 @@ impl FlowNode for Node { } else { use_side_effects.push(attachment_exists.into_side_effect()); } - use_side_effects.push(attachment_path_string.into_side_effect()); } } } From 693630ac26e27436917bf19f73f2c1c142785dcc Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 15:59:07 -0700 Subject: [PATCH 08/37] Try a successful vmm_tests run --- flowey/flowey_lib_common/src/publish_test_results.rs | 6 ++++-- vmm_tests/vmm_tests/tests/tests/x86_64.rs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 3dae1346de..9bb1ccb049 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -68,7 +68,7 @@ impl FlowNode for Node { { resolve_side_effects.push(done); - let step_name = format!("publish test results: {label} (JUnit XML)"); + let step_name = format!("copy test results to artifact directory: {label} (JUnit XML)"); let artifact_name = format!("{label}-junit-xml"); let has_junit_xml = junit_xml.map(ctx, |p| p.is_some()); @@ -146,7 +146,9 @@ impl FlowNode for Node { } for (attachment_label, (attachment_path, publish_on_ado)) in attachments { - let step_name = format!("publish test results: {label} ({attachment_label})"); + let step_name = format!( + "copy attachments to artifacts directory: {label} ({attachment_label})" + ); let artifact_name = format!("{label}-{attachment_label}"); let attachment_exists = attachment_path.map(ctx, |p| { diff --git a/vmm_tests/vmm_tests/tests/tests/x86_64.rs b/vmm_tests/vmm_tests/tests/tests/x86_64.rs index 3630472b04..0f21c099c4 100644 --- a/vmm_tests/vmm_tests/tests/tests/x86_64.rs +++ b/vmm_tests/vmm_tests/tests/tests/x86_64.rs @@ -73,7 +73,7 @@ async fn boot_with_tpm(config: PetriVmBuilder) -> anyhow::R agent.power_off().await?; vm.wait_for_clean_teardown().await?; - panic!("Force test failure to verify vmm-tests-results artifact publishing"); + Ok(()) } /// Test AK cert is persistent across boots on Linux. From 2c2795db354e3bd5c8f9e1a75d25944380e72ef8 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 19:36:12 -0700 Subject: [PATCH 09/37] update pipeline files --- .github/workflows/openvmm-ci.yaml | 24 +++++++++++------------ .github/workflows/openvmm-pr-release.yaml | 24 +++++++++++------------ .github/workflows/openvmm-pr.yaml | 24 +++++++++++------------ 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 7ad42babb4..4ebb1c1e96 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1646,7 +1646,7 @@ jobs: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 14 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' run: |- flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -1656,7 +1656,7 @@ jobs: flowey.exe e 14 flowey_lib_common::publish_test_results 2 flowey.exe e 14 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' run: flowey.exe e 14 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -1927,7 +1927,7 @@ jobs: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 15 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -1937,7 +1937,7 @@ jobs: flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2201,7 +2201,7 @@ jobs: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 16 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2211,7 +2211,7 @@ jobs: flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2482,7 +2482,7 @@ jobs: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 17 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2492,7 +2492,7 @@ jobs: flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2756,7 +2756,7 @@ jobs: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 18 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-linux-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' run: |- flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2766,7 +2766,7 @@ jobs: flowey e 18 flowey_lib_common::publish_test_results 2 flowey e 18 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' run: flowey e 18 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -3077,7 +3077,7 @@ jobs: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 19 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: aarch64-windows-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -3087,7 +3087,7 @@ jobs: flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' run: flowey.exe e 19 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 0d375f57d8..a256e5d130 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -1648,7 +1648,7 @@ jobs: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 14 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' run: |- flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -1658,7 +1658,7 @@ jobs: flowey.exe e 14 flowey_lib_common::publish_test_results 2 flowey.exe e 14 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' run: flowey.exe e 14 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -1929,7 +1929,7 @@ jobs: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 15 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -1939,7 +1939,7 @@ jobs: flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2203,7 +2203,7 @@ jobs: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 16 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2213,7 +2213,7 @@ jobs: flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2484,7 +2484,7 @@ jobs: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 17 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2494,7 +2494,7 @@ jobs: flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2758,7 +2758,7 @@ jobs: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 18 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-linux-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' run: |- flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2768,7 +2768,7 @@ jobs: flowey e 18 flowey_lib_common::publish_test_results 2 flowey e 18 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' run: flowey e 18 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -3079,7 +3079,7 @@ jobs: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 19 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: aarch64-windows-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -3089,7 +3089,7 @@ jobs: flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' run: flowey.exe e 19 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 8529f6ab8c..db0457d95f 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -1895,7 +1895,7 @@ jobs: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 15 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -1905,7 +1905,7 @@ jobs: flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2176,7 +2176,7 @@ jobs: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 16 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2186,7 +2186,7 @@ jobs: flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2450,7 +2450,7 @@ jobs: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 17 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2460,7 +2460,7 @@ jobs: flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -2731,7 +2731,7 @@ jobs: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 18 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' run: |- flowey.exe e 18 flowey_lib_common::publish_test_results 6 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -2741,7 +2741,7 @@ jobs: flowey.exe e 18 flowey_lib_common::publish_test_results 2 flowey.exe e 18 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: flowey.exe e 18 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -3005,7 +3005,7 @@ jobs: flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 19 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: x64-linux-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' run: |- flowey e 19 flowey_lib_common::publish_test_results 6 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -3015,7 +3015,7 @@ jobs: flowey e 19 flowey_lib_common::publish_test_results 2 flowey e 19 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' run: flowey e 19 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status @@ -3543,7 +3543,7 @@ jobs: flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 20 flowey_lib_common::publish_test_results 5 shell: bash - - name: 'publish test results: aarch64-windows-vmm-tests (logs)' + - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' run: |- flowey.exe e 20 flowey_lib_common::publish_test_results 6 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 @@ -3553,7 +3553,7 @@ jobs: flowey.exe e 20 flowey_lib_common::publish_test_results 2 flowey.exe e 20 flowey_lib_common::publish_test_results 3 shell: bash - - name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' run: flowey.exe e 20 flowey_lib_common::publish_test_results 4 shell: bash - name: report test results to overall pipeline status From 6be7aa072c3b55ed638976587f61a817ad85310c Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 20:58:53 -0700 Subject: [PATCH 10/37] . --- .github/workflows/openvmm-ci.yaml | 2 +- .github/workflows/openvmm-pr-release.yaml | 2 +- .github/workflows/openvmm-pr.yaml | 2 +- .../src/_jobs/verify_all_tests_run.rs | 125 +++++++++++++----- 4 files changed, 98 insertions(+), 33 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 4ebb1c1e96..a69f3208ac 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -3376,7 +3376,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update shell: bash - - name: collect test names from junit logs + - name: parse and analyze junit logs and nextest list output run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job21: diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index a256e5d130..fbf1326f48 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -3378,7 +3378,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update shell: bash - - name: collect test names from junit logs + - name: parse and analyze junit logs and nextest list output run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job21: diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index db0457d95f..920a4f69b8 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -3625,7 +3625,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update shell: bash - - name: collect test names from junit logs + - name: parse and analyze junit logs and nextest list output run: flowey e 21 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job22: diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs index 52408bbb21..2a632d42b3 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -5,6 +5,20 @@ use flowey::node::prelude::*; use quick_xml::Reader; use quick_xml::events::Event; +use serde::Deserialize; +use std::collections::HashMap; +use std::collections::HashSet; + +#[derive(Debug, Deserialize)] +struct Root { + #[serde(rename = "rust-suites")] + rust_suites: HashMap, +} + +#[derive(Debug, Deserialize)] +struct Suite { + testcases: HashMap, // we don't care about contents +} flowey_request! { pub struct Request { @@ -31,39 +45,74 @@ impl SimpleFlowNode for Node { return Ok(()); } - let parse = ctx.emit_rust_step("collect test names from junit logs", |ctx| { - let artifacts: Vec<_> = test_artifacts - .into_iter() - .map(|(name, path)| (name, path.claim(ctx))) - .collect(); - - move |rt| { - for (name, path) in artifacts { - let mut file = rt.read(path); - println!("File: {}", file.display()); - assert!(file.exists(), "expected artifact file to exist"); - - file = file.join(&name); - println!("Expanded to: {}", file.display()); - assert!(file.exists(), "expected artifact dir to exist"); + let parse = ctx.emit_rust_step( + "parse and analyze junit logs and nextest list output", + |ctx| { + let artifacts: Vec<_> = test_artifacts + .into_iter() + .map(|(prefix, path)| (prefix, path.claim(ctx))) + .collect(); + + move |rt| { + let mut combined_junit_testcases: HashSet = HashSet::new(); + let mut combined_nextest_testcases: HashSet = HashSet::new(); + + for (prefix, path) in artifacts { + let artifact_dir = rt.read(path); + println!("Artifact dir: {}", artifact_dir.display()); + assert!(artifact_dir.exists(), "expected artifact dir to exist"); + + let junit_xml = prefix.clone() + "vmm-tests-junit-xml.xml"; + let nextest_list = prefix.clone() + "vmm-tests-nextest-list.json"; + + let junit_xml = artifact_dir.clone().join(&junit_xml); + let nextest_list = artifact_dir.clone().join(&nextest_list); + + assert!( + junit_xml.exists(), + "expected junit.xml file to exist at {}", + junit_xml.display() + ); + assert!( + nextest_list.exists(), + "expected nextest list file to exist at {}", + nextest_list.display() + ); + + let junit_test_names = get_testcase_names_from_junit_xml(&junit_xml)?; + println!("Test names in {}:", junit_xml.display()); + for test_name in &junit_test_names { + println!("{}", test_name); + } + + let nextest_test_names = + get_testcase_names_from_nextest_list_json(&nextest_list)?; + println!("Test names in {}:", nextest_list.display()); + for test_name in &nextest_test_names { + println!("{}", test_name); + } + + combined_junit_testcases.extend(junit_test_names.into_iter()); + combined_nextest_testcases.extend(nextest_test_names.into_iter()); + } - file = file.join("junit.xml"); - println!("Name: {}, File: {}", name, file.display()); assert!( - file.exists(), - "expected junit.xml file to exist at {}", - file.display() + combined_junit_testcases == combined_nextest_testcases, + "Mismatch between test cases in junit XML and nextest list JSON.\n\ + Test cases in junit XML but not in nextest list JSON: {:?}\n\ + Test cases in nextest list JSON but not in junit XML: {:?}", + combined_junit_testcases + .difference(&combined_nextest_testcases) + .collect::>(), + combined_nextest_testcases + .difference(&combined_junit_testcases) + .collect::>(), ); - let test_names = get_testcase_names(&file)?; - println!("Test names in {}:", name); - for test_name in test_names { - println!(" {}", test_name); - } - } - Ok(()) - } - }); + Ok(()) + } + }, + ); ctx.emit_side_effect_step(vec![parse], [done]); @@ -71,7 +120,7 @@ impl SimpleFlowNode for Node { } } -fn get_testcase_names(junit_path: &PathBuf) -> anyhow::Result> { +fn get_testcase_names_from_junit_xml(junit_path: &PathBuf) -> anyhow::Result> { let mut reader = Reader::from_file(junit_path)?; let mut buf = Vec::new(); @@ -102,3 +151,19 @@ fn get_testcase_names(junit_path: &PathBuf) -> anyhow::Result> { Ok(test_names) } + +fn get_testcase_names_from_nextest_list_json( + nextest_list_output_path: &PathBuf, +) -> anyhow::Result> { + let data = fs_err::read_to_string(nextest_list_output_path)?; + let root: Root = serde_json::from_str(&data)?; + let mut test_names = Vec::new(); + + for (suite_name, suite) in root.rust_suites { + for test_name in suite.testcases.keys() { + test_names.push(format!("{}::{}", suite_name, test_name)); + } + } + + Ok(test_names) +} From 689dd3010b894b6321c627b0f9258fc6de17fc6b Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 6 Oct 2025 22:19:51 -0700 Subject: [PATCH 11/37] fix typo --- flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs index 2a632d42b3..48683cb278 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -62,8 +62,8 @@ impl SimpleFlowNode for Node { println!("Artifact dir: {}", artifact_dir.display()); assert!(artifact_dir.exists(), "expected artifact dir to exist"); - let junit_xml = prefix.clone() + "vmm-tests-junit-xml.xml"; - let nextest_list = prefix.clone() + "vmm-tests-nextest-list.json"; + let junit_xml = prefix.clone() + "-vmm-tests-junit-xml.xml"; + let nextest_list = prefix.clone() + "-vmm-tests-nextest-list.json"; let junit_xml = artifact_dir.clone().join(&junit_xml); let nextest_list = artifact_dir.clone().join(&nextest_list); From 922d587c482f6ebef6ca6e8276ec36aeb17dd9de Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 7 Oct 2025 12:03:45 -0700 Subject: [PATCH 12/37] Prepare for review --- .github/workflows/openvmm-ci.yaml | 462 +++++++++++------- .github/workflows/openvmm-pr-release.yaml | 462 +++++++++++------- .github/workflows/openvmm-pr.yaml | 462 +++++++++++------- .../src/publish_test_results.rs | 115 +++-- .../src/run_cargo_nextest_run.rs | 20 +- .../_jobs/build_and_run_nextest_unit_tests.rs | 1 - ...ume_and_test_nextest_unit_tests_archive.rs | 1 - ...sume_and_test_nextest_vmm_tests_archive.rs | 21 +- .../local_build_and_run_nextest_vmm_tests.rs | 1 - .../src/_jobs/verify_all_tests_run.rs | 26 +- vmm_tests/vmm_tests/tests/tests/x86_64.rs | 1 - 11 files changed, 944 insertions(+), 628 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index a69f3208ac..cc9de560f0 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -435,7 +435,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 10 flowey_lib_common::git_checkout 0 - flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey.exe v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -443,7 +443,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -463,14 +463,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 4 - flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -537,14 +537,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 0 - flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -584,7 +584,17 @@ jobs: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 10 flowey_lib_common::publish_test_results 0 flowey.exe e 10 flowey_lib_common::publish_test_results 1 + flowey.exe e 10 flowey_lib_common::publish_test_results 2 + flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -698,14 +708,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 4 - flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -724,7 +734,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 11 flowey_lib_common::git_checkout 0 - flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -732,7 +742,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -825,14 +835,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 0 - flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -877,7 +887,17 @@ jobs: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 11 flowey_lib_common::publish_test_results 0 flowey e 11 flowey_lib_common::publish_test_results 1 + flowey e 11 flowey_lib_common::publish_test_results 2 + flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -982,7 +1002,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -990,7 +1010,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1014,14 +1034,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1121,14 +1141,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1173,7 +1193,17 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 + flowey e 12 flowey_lib_common::publish_test_results 2 + flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-musl-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-musl-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1276,14 +1306,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 0 - flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1311,7 +1341,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 13 flowey_lib_common::git_checkout 0 - flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1319,7 +1349,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1339,14 +1369,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 4 - flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1394,7 +1424,17 @@ jobs: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 13 flowey_lib_common::publish_test_results 0 flowey.exe e 13 flowey_lib_common::publish_test_results 1 + flowey.exe e 13 flowey_lib_common::publish_test_results 2 + flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: aarch64-windows-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1479,14 +1519,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1510,14 +1550,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1548,14 +1588,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 12 - flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1584,14 +1624,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1604,7 +1644,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1612,7 +1652,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1644,21 +1684,32 @@ jobs: flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 14 flowey_lib_common::publish_test_results 4 flowey.exe e 14 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' run: |- flowey.exe e 14 flowey_lib_common::publish_test_results 6 + flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 14 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (nextest-list)' + run: |- + flowey.exe e 14 flowey_lib_common::publish_test_results 8 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 - flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 14 flowey_lib_common::publish_test_results 2 - flowey.exe e 14 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' - run: flowey.exe e 14 flowey_lib_common::publish_test_results 4 + flowey.exe v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -1755,14 +1806,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1786,14 +1837,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1824,14 +1875,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1860,14 +1911,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1880,7 +1931,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1888,7 +1939,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1925,21 +1976,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 15 flowey_lib_common::publish_test_results 4 flowey.exe e 15 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 6 + flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 15 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (nextest-list)' + run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 8 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 15 flowey_lib_common::publish_test_results 2 - flowey.exe e 15 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 + flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2034,14 +2096,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2065,14 +2127,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2103,14 +2165,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2139,14 +2201,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2159,7 +2221,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2167,7 +2229,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2199,21 +2261,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe e 16 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 6 + flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (nextest-list)' + run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 8 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 16 flowey_lib_common::publish_test_results 2 - flowey.exe e 16 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' - run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 + flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2310,14 +2383,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2341,14 +2414,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2379,14 +2452,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2415,14 +2488,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2435,7 +2508,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2443,7 +2516,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2480,21 +2553,32 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 17 flowey_lib_common::publish_test_results 4 flowey.exe e 17 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 6 + flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 17 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (nextest-list)' + run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 8 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 17 flowey_lib_common::publish_test_results 2 - flowey.exe e 17 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' - run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 + flowey.exe v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2580,14 +2664,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 0 - flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2617,14 +2701,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 8 - flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2655,14 +2739,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 12 - flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2694,14 +2778,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 4 - flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2714,7 +2798,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 18 flowey_lib_common::git_checkout 0 - flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2722,7 +2806,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2754,21 +2838,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey e 18 flowey_lib_common::publish_test_results 4 flowey e 18 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' run: |- flowey e 18 flowey_lib_common::publish_test_results 6 + flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 18 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (nextest-list)' + run: |- + flowey e 18 flowey_lib_common::publish_test_results 8 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 - flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 18 flowey_lib_common::publish_test_results 2 - flowey e 18 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' - run: flowey e 18 flowey_lib_common::publish_test_results 4 + flowey v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2910,14 +3005,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2941,14 +3036,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2979,14 +3074,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3015,14 +3110,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3035,7 +3130,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3043,7 +3138,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3075,21 +3170,32 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 19 flowey_lib_common::publish_test_results 4 flowey.exe e 19 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 6 + flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 19 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (nextest-list)' + run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 8 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 - flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 19 flowey_lib_common::publish_test_results 2 - flowey.exe e 19 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' - run: flowey.exe e 19 flowey_lib_common::publish_test_results 4 + flowey.exe v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index fbf1326f48..dab802cc25 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -437,7 +437,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 10 flowey_lib_common::git_checkout 0 - flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey.exe v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -445,7 +445,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -465,14 +465,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 4 - flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -539,14 +539,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 0 - flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -586,7 +586,17 @@ jobs: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 10 flowey_lib_common::publish_test_results 0 flowey.exe e 10 flowey_lib_common::publish_test_results 1 + flowey.exe e 10 flowey_lib_common::publish_test_results 2 + flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -700,14 +710,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 4 - flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -726,7 +736,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 11 flowey_lib_common::git_checkout 0 - flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -734,7 +744,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -827,14 +837,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 0 - flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -879,7 +889,17 @@ jobs: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 11 flowey_lib_common::publish_test_results 0 flowey e 11 flowey_lib_common::publish_test_results 1 + flowey e 11 flowey_lib_common::publish_test_results 2 + flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -984,7 +1004,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -992,7 +1012,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1016,14 +1036,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1123,14 +1143,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1175,7 +1195,17 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 + flowey e 12 flowey_lib_common::publish_test_results 2 + flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-musl-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-musl-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1278,14 +1308,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 0 - flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1313,7 +1343,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 13 flowey_lib_common::git_checkout 0 - flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1321,7 +1351,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1341,14 +1371,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 4 - flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1396,7 +1426,17 @@ jobs: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 13 flowey_lib_common::publish_test_results 0 flowey.exe e 13 flowey_lib_common::publish_test_results 1 + flowey.exe e 13 flowey_lib_common::publish_test_results 2 + flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: aarch64-windows-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1481,14 +1521,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1512,14 +1552,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1550,14 +1590,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 12 - flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1586,14 +1626,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1606,7 +1646,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1614,7 +1654,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1646,21 +1686,32 @@ jobs: flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 14 flowey_lib_common::publish_test_results 4 flowey.exe e 14 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' run: |- flowey.exe e 14 flowey_lib_common::publish_test_results 6 + flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 14 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (nextest-list)' + run: |- + flowey.exe e 14 flowey_lib_common::publish_test_results 8 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 - flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 14 flowey_lib_common::publish_test_results 2 - flowey.exe e 14 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' - run: flowey.exe e 14 flowey_lib_common::publish_test_results 4 + flowey.exe v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -1757,14 +1808,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1788,14 +1839,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1826,14 +1877,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1862,14 +1913,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1882,7 +1933,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1890,7 +1941,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1927,21 +1978,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 15 flowey_lib_common::publish_test_results 4 flowey.exe e 15 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 6 + flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 15 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (nextest-list)' + run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 8 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 15 flowey_lib_common::publish_test_results 2 - flowey.exe e 15 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 + flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2036,14 +2098,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2067,14 +2129,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2105,14 +2167,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2141,14 +2203,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2161,7 +2223,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2169,7 +2231,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2201,21 +2263,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe e 16 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 6 + flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (nextest-list)' + run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 8 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 16 flowey_lib_common::publish_test_results 2 - flowey.exe e 16 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' - run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 + flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2312,14 +2385,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2343,14 +2416,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2381,14 +2454,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2417,14 +2490,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2437,7 +2510,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2445,7 +2518,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2482,21 +2555,32 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 17 flowey_lib_common::publish_test_results 4 flowey.exe e 17 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 6 + flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 17 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (nextest-list)' + run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 8 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 17 flowey_lib_common::publish_test_results 2 - flowey.exe e 17 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' - run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 + flowey.exe v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2582,14 +2666,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 0 - flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2619,14 +2703,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 8 - flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2657,14 +2741,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 12 - flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2696,14 +2780,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 4 - flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2716,7 +2800,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 18 flowey_lib_common::git_checkout 0 - flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2724,7 +2808,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2756,21 +2840,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey e 18 flowey_lib_common::publish_test_results 4 flowey e 18 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' run: |- flowey e 18 flowey_lib_common::publish_test_results 6 + flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 18 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (nextest-list)' + run: |- + flowey e 18 flowey_lib_common::publish_test_results 8 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 - flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 18 flowey_lib_common::publish_test_results 2 - flowey e 18 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' - run: flowey e 18 flowey_lib_common::publish_test_results 4 + flowey v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2912,14 +3007,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2943,14 +3038,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2981,14 +3076,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3017,14 +3112,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3037,7 +3132,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3045,7 +3140,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3077,21 +3172,32 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 19 flowey_lib_common::publish_test_results 4 flowey.exe e 19 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 6 + flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 19 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (nextest-list)' + run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 8 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 - flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 19 flowey_lib_common::publish_test_results 2 - flowey.exe e 19 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' - run: flowey.exe e 19 flowey_lib_common::publish_test_results 4 + flowey.exe v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 920a4f69b8..f66180c68f 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -684,7 +684,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 11 flowey_lib_common::git_checkout 0 - flowey.exe v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey.exe v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey.exe v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -692,7 +692,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -712,14 +712,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 11 flowey_lib_common::cache 4 - flowey.exe v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -786,14 +786,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 11 flowey_lib_common::cache 0 - flowey.exe v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey.exe v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -833,7 +833,17 @@ jobs: flowey.exe e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 11 flowey_lib_common::publish_test_results 0 flowey.exe e 11 flowey_lib_common::publish_test_results 1 + flowey.exe e 11 flowey_lib_common::publish_test_results 2 + flowey.exe v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -947,14 +957,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -973,7 +983,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -981,7 +991,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1074,14 +1084,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1126,7 +1136,17 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 + flowey e 12 flowey_lib_common::publish_test_results 2 + flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1231,7 +1251,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 13 flowey_lib_common::git_checkout 0 - flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1239,7 +1259,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1263,14 +1283,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 13 flowey_lib_common::cache 4 - flowey v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1370,14 +1390,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 13 flowey_lib_common::cache 0 - flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1422,7 +1442,17 @@ jobs: flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 13 flowey_lib_common::publish_test_results 0 flowey e 13 flowey_lib_common::publish_test_results 1 + flowey e 13 flowey_lib_common::publish_test_results 2 + flowey v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-musl-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-musl-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1525,14 +1555,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1560,7 +1590,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1568,7 +1598,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar5 }} + persist-credentials: ${{ env.floweyvar6 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1588,14 +1618,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1643,7 +1673,17 @@ jobs: flowey.exe e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 + flowey.exe e 14 flowey_lib_common::publish_test_results 2 + flowey.exe v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-unit-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: aarch64-windows-unit-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1728,14 +1768,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1759,14 +1799,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1797,14 +1837,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1833,14 +1873,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1853,7 +1893,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1861,7 +1901,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1893,21 +1933,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 15 flowey_lib_common::publish_test_results 4 flowey.exe e 15 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 6 + flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 15 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (nextest-list)' + run: |- + flowey.exe e 15 flowey_lib_common::publish_test_results 8 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 15 flowey_lib_common::publish_test_results 2 - flowey.exe e 15 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' - run: flowey.exe e 15 flowey_lib_common::publish_test_results 4 + flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2004,14 +2055,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2035,14 +2086,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2073,14 +2124,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2109,14 +2160,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2129,7 +2180,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2137,7 +2188,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2174,21 +2225,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe e 16 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 6 + flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (nextest-list)' + run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 8 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 16 flowey_lib_common::publish_test_results 2 - flowey.exe e 16 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - run: flowey.exe e 16 flowey_lib_common::publish_test_results 4 + flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2283,14 +2345,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2314,14 +2376,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2352,14 +2414,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2388,14 +2450,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2408,7 +2470,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2416,7 +2478,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2448,21 +2510,32 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 17 flowey_lib_common::publish_test_results 4 flowey.exe e 17 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 6 + flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 17 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (nextest-list)' + run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 8 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 17 flowey_lib_common::publish_test_results 2 - flowey.exe e 17 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' - run: flowey.exe e 17 flowey_lib_common::publish_test_results 4 + flowey.exe v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2559,14 +2632,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 0 - flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2590,14 +2663,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 8 - flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2628,14 +2701,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 12 - flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2664,14 +2737,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 4 - flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2684,7 +2757,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 18 flowey_lib_common::git_checkout 0 - flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2692,7 +2765,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2729,21 +2802,32 @@ jobs: 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 18 flowey_lib_common::publish_test_results 4 flowey.exe e 18 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' run: |- flowey.exe e 18 flowey_lib_common::publish_test_results 6 + flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 18 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (nextest-list)' + run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 8 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 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 e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 18 flowey_lib_common::publish_test_results 2 - flowey.exe e 18 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' - run: flowey.exe e 18 flowey_lib_common::publish_test_results 4 + flowey.exe v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -2829,14 +2913,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2866,14 +2950,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 8 - flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2904,14 +2988,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 12 - flowey v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2943,14 +3027,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 4 - flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2963,7 +3047,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 19 flowey_lib_common::git_checkout 0 - flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2971,7 +3055,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3003,21 +3087,32 @@ jobs: flowey e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey e 19 flowey_lib_common::publish_test_results 4 flowey e 19 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' run: |- flowey e 19 flowey_lib_common::publish_test_results 6 + flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 19 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (nextest-list)' + run: |- + flowey e 19 flowey_lib_common::publish_test_results 8 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 19 flowey_lib_common::publish_test_results 0 flowey e 19 flowey_lib_common::publish_test_results 1 - flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 19 flowey_lib_common::publish_test_results 2 - flowey e 19 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' - run: flowey e 19 flowey_lib_common::publish_test_results 4 + flowey v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash @@ -3376,14 +3471,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3407,14 +3502,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3445,14 +3540,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 12 - flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3481,14 +3576,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 4 - flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3501,7 +3596,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 20 flowey_lib_common::git_checkout 0 - flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3509,7 +3604,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3541,21 +3636,32 @@ jobs: flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + flowey.exe e 20 flowey_lib_common::publish_test_results 4 flowey.exe e 20 flowey_lib_common::publish_test_results 5 shell: bash - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' run: |- flowey.exe e 20 flowey_lib_common::publish_test_results 6 + flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey.exe e 20 flowey_lib_common::publish_test_results 7 + shell: bash + - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (nextest-list)' + run: |- + flowey.exe e 20 flowey_lib_common::publish_test_results 8 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 20 flowey_lib_common::publish_test_results 0 flowey.exe e 20 flowey_lib_common::publish_test_results 1 - flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey.exe e 20 flowey_lib_common::publish_test_results 2 - flowey.exe e 20 flowey_lib_common::publish_test_results 3 - shell: bash - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' - run: flowey.exe e 20 flowey_lib_common::publish_test_results 4 + flowey.exe v 20 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 + flowey.exe v 20 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__3 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-junit-xml + path: ${{ env.floweyvar1 }} + name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 shell: bash diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 9bb1ccb049..81cc7e2e98 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -13,6 +13,12 @@ use crate::_util::copy_dir_all; use flowey::node::prelude::*; use std::collections::BTreeMap; +#[derive(Serialize, Deserialize)] +pub enum Attachments { + Logs(ReadVar), + NextestListJson(ReadVar>), +} + flowey_request! { pub struct Request { /// Path to a junit.xml file @@ -24,8 +30,6 @@ flowey_request! { /// To keep making forward progress, I've tweaked this node to accept an /// optional... but this ain't great. pub junit_xml: ReadVar>, - /// Path to the JSON output from `nextest list --json`. - pub nextest_list_json: Option>>, /// Brief string used when publishing the test. /// Must be unique to the pipeline. pub test_label: String, @@ -35,7 +39,7 @@ flowey_request! { /// JUnit XML file. On backends with native JUnit attachment support, /// these attachments will not be uploaded as distinct artifacts and /// will instead be uploaded via the JUnit integration. - pub attachments: BTreeMap, bool)>, + pub attachments: BTreeMap, /// Copy the xml file and attachments to the provided directory. /// Only supported on local backend. pub output_dir: Option>, @@ -59,7 +63,6 @@ impl FlowNode for Node { for Request { junit_xml, - nextest_list_json, test_label: label, attachments, output_dir, @@ -74,13 +77,6 @@ impl FlowNode for Node { let has_junit_xml = junit_xml.map(ctx, |p| p.is_some()); let junit_xml = junit_xml.map(ctx, |p| p.unwrap_or_default()); - let has_nextest_list = nextest_list_json - .as_ref() - .map(|v| v.map(ctx, |p| p.is_some())); - let nextest_list_json = nextest_list_json - .as_ref() - .map(|v| v.map(ctx, |p| p.unwrap_or_default())); - match ctx.backend() { FlowBackend::Ado => { use_side_effects.push(ctx.reqv(|v| { @@ -95,32 +91,35 @@ impl FlowNode for Node { } })); } - FlowBackend::Github | FlowBackend::Local => { + FlowBackend::Github => { + let junit_xml = junit_xml.map(ctx, |p| { + p.absolute().expect("invalid path").display().to_string() + }); + + // Note: usually flowey's built-in artifact publishing API + // should be used instead of this, but here we need to + // manually upload the artifact now so that it is still + // uploaded even if the pipeline fails. + use_side_effects.push( + ctx.emit_gh_step(step_name, "actions/upload-artifact@v4") + .condition(has_junit_xml) + .with("name", artifact_name) + .with("path", junit_xml) + .finish(ctx), + ); + } + FlowBackend::Local => { if let Some(output_dir) = output_dir.clone() { use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { let output_dir = output_dir.claim(ctx); let has_junit_xml = has_junit_xml.claim(ctx); let junit_xml = junit_xml.claim(ctx); - let has_nextest_list = has_nextest_list.claim(ctx); - let nextest_list_json = nextest_list_json.claim(ctx); - let label = label.clone(); move |rt| { let output_dir = rt.read(output_dir); let has_junit_xml = rt.read(has_junit_xml); let junit_xml = rt.read(junit_xml); - let has_nextest_list = if let Some(v) = has_nextest_list { - rt.read(v) - } else { - false - }; - let nextest_list_json = if let Some(v) = nextest_list_json { - rt.read(v) - } else { - PathBuf::new() - }; - if has_junit_xml { fs_err::copy( junit_xml, @@ -128,13 +127,6 @@ impl FlowNode for Node { )?; } - if has_nextest_list { - fs_err::copy( - nextest_list_json, - output_dir.join(format!("{label}-nextest-list.json")), - )?; - } - Ok(()) } })); @@ -145,19 +137,32 @@ impl FlowNode for Node { } } - for (attachment_label, (attachment_path, publish_on_ado)) in attachments { + for (attachment_label, (attachment_kind, publish_on_ado)) in attachments { let step_name = format!( "copy attachments to artifacts directory: {label} ({attachment_label})" ); let artifact_name = format!("{label}-{attachment_label}"); - let attachment_exists = attachment_path.map(ctx, |p| { - p.exists() - && (p.is_file() - || p.read_dir() - .expect("failed to read attachment dir") - .next() - .is_some()) + // Normalize both variants to a `ReadVar>` so the rest of + // the logic can treat attachments uniformly. `Logs` always contains a + // `PathBuf`, so map it to `Some(path)`. `NextestListJson` already + // contains an `Option`. + let attachment_path_opt = match attachment_kind { + Attachments::Logs(p) => p.map(ctx, Some), + Attachments::NextestListJson(p) => p, + }; + + let attachment_exists = attachment_path_opt.map(ctx, |opt| { + opt.as_ref() + .map(|p| { + p.exists() + && (p.is_file() + || p.read_dir() + .expect("failed to read attachment dir") + .next() + .is_some()) + }) + .unwrap_or(false) }); match ctx.backend() { @@ -168,18 +173,20 @@ impl FlowNode for Node { use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { let output_dir = output_dir.claim(ctx); let attachment_exists = attachment_exists.claim(ctx); - let attachment_path = attachment_path.claim(ctx); + let attachment_path_opt = attachment_path_opt.claim(ctx); move |rt| { let output_dir = rt.read(output_dir); let attachment_exists = rt.read(attachment_exists); - let attachment_path = rt.read(attachment_path); + let attachment_path_opt = rt.read(attachment_path_opt); if attachment_exists { - copy_dir_all( - attachment_path, - output_dir.join(artifact_name), - )?; + if let Some(attachment_path) = attachment_path_opt { + copy_dir_all( + attachment_path, + output_dir.join(artifact_name), + )?; + } } Ok(()) @@ -194,18 +201,20 @@ impl FlowNode for Node { use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { let output_dir = output_dir.claim(ctx); let attachment_exists = attachment_exists.claim(ctx); - let attachment_path = attachment_path.claim(ctx); + let attachment_path_opt = attachment_path_opt.claim(ctx); move |rt| { let output_dir = rt.read(output_dir); let attachment_exists = rt.read(attachment_exists); - let attachment_path = rt.read(attachment_path); + let attachment_path_opt = rt.read(attachment_path_opt); if attachment_exists { - copy_dir_all( - attachment_path, - output_dir.join(artifact_name), - )?; + if let Some(attachment_path) = attachment_path_opt { + copy_dir_all( + attachment_path, + output_dir.join(artifact_name), + )?; + } } Ok(()) diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index 952e460730..2bec2961da 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -399,21 +399,13 @@ impl FlowNode for Node { if let Some(list_cmd) = list_cmd { let (status, stdout_opt) = run_command(&list_cmd, &working_dir, true)?; anyhow::ensure!(status.success(), "failed to list tests in executable"); - let stdout = - stdout_opt.context("missing stdout from nextest list command")?; - let nextest_list_json = get_nextest_list_output_from_stdout(&stdout)?; + + let nextest_list_json = + get_nextest_list_output_from_stdout(&stdout_opt.unwrap())?; if let Some(ref junit_xml_path) = junit_xml { - anyhow::ensure!( - junit_xml_path.is_file(), - "expected junit xml to exist at {:?}", - junit_xml_path - ); - let containing_dir = junit_xml_path - .parent() - .context("junit xml has no parent")? - .to_path_buf(); + let containing_dir = junit_xml_path.parent().unwrap().to_path_buf(); let output_path = containing_dir.join("nextest_list.json"); - let mut file = fs_err::File::create_new(output_path.clone())?; + let mut file = fs_err::File::create_new(&output_path)?; file.write_all(nextest_list_json.to_string().as_bytes())?; if let Some(nextest_list_output_file_write) = @@ -517,6 +509,8 @@ fn run_command( } fn get_nextest_list_output_from_stdout(output: &str) -> anyhow::Result { + // nextest list prints a few lines of non-json output before the actual + // JSON output, so we need to find the first line that is valid JSON for line in output.lines() { if let Ok(json_value) = serde_json::from_str::(line) { return Ok(json_value); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs index 0e968f1a49..f8206f2d76 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs @@ -68,7 +68,6 @@ impl SimpleFlowNode for Node { let junit_xml = results.map(ctx, |r| r.junit_xml); let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, - nextest_list_json: None, test_label: junit_test_label, attachments: BTreeMap::new(), output_dir: artifact_dir, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs index fc8c675bc1..00d642e555 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs @@ -58,7 +58,6 @@ impl SimpleFlowNode for Node { let junit_xml = results.map(ctx, |r| r.junit_xml); let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, - nextest_list_json: None, test_label: junit_test_label, attachments: BTreeMap::new(), output_dir: artifact_dir, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index ac6cc1f32e..676f2ce862 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -206,11 +206,28 @@ impl SimpleFlowNode for Node { let junit_xml = results.map(ctx, |r| r.junit_xml); let nextest_list_json = results.map(ctx, |r| r.nextest_list_output); + let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, - nextest_list_json: Some(nextest_list_json), test_label: junit_test_label, - attachments: BTreeMap::from([("logs".to_string(), (test_log_path, false))]), + attachments: BTreeMap::from([ + ( + "logs".to_string(), + ( + flowey_lib_common::publish_test_results::Attachments::Logs(test_log_path), + false, + ), + ), + ( + "nextest-list".to_string(), + ( + flowey_lib_common::publish_test_results::Attachments::NextestListJson( + nextest_list_json, + ), + false, + ), + ), + ]), output_dir: artifact_dir, done: v, }); 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 70ea5d3a4f..a968457667 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 @@ -931,7 +931,6 @@ impl SimpleFlowNode for Node { let published_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, - nextest_list_json: None, test_label, attachments: BTreeMap::new(), // the logs are already there output_dir: Some(ReadVar::from_static(test_content_dir)), diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs index 48683cb278..1f4d7276a8 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -//! Compares the size of the OpenHCL binary in the current PR with the size of the binary from the last successful merge to main. +//! Verifies that all tests that are built are run at least once over the course of an entire pipeline run. use flowey::node::prelude::*; use quick_xml::Reader; use quick_xml::events::Event; @@ -40,8 +40,9 @@ impl SimpleFlowNode for Node { done, } = request; - // TODO: testing with GitHub first, will add ADO support later. - if ctx.backend() != FlowBackend::Github { + // It doesn't make sense for this node to run locally since there is no way for one machine + // to run all the vmm_tests we have. + if ctx.backend() == FlowBackend::Local { return Ok(()); } @@ -68,29 +69,10 @@ impl SimpleFlowNode for Node { let junit_xml = artifact_dir.clone().join(&junit_xml); let nextest_list = artifact_dir.clone().join(&nextest_list); - assert!( - junit_xml.exists(), - "expected junit.xml file to exist at {}", - junit_xml.display() - ); - assert!( - nextest_list.exists(), - "expected nextest list file to exist at {}", - nextest_list.display() - ); - let junit_test_names = get_testcase_names_from_junit_xml(&junit_xml)?; - println!("Test names in {}:", junit_xml.display()); - for test_name in &junit_test_names { - println!("{}", test_name); - } let nextest_test_names = get_testcase_names_from_nextest_list_json(&nextest_list)?; - println!("Test names in {}:", nextest_list.display()); - for test_name in &nextest_test_names { - println!("{}", test_name); - } combined_junit_testcases.extend(junit_test_names.into_iter()); combined_nextest_testcases.extend(nextest_test_names.into_iter()); diff --git a/vmm_tests/vmm_tests/tests/tests/x86_64.rs b/vmm_tests/vmm_tests/tests/tests/x86_64.rs index 0f21c099c4..44cace32e2 100644 --- a/vmm_tests/vmm_tests/tests/tests/x86_64.rs +++ b/vmm_tests/vmm_tests/tests/tests/x86_64.rs @@ -72,7 +72,6 @@ async fn boot_with_tpm(config: PetriVmBuilder) -> anyhow::R agent.power_off().await?; vm.wait_for_clean_teardown().await?; - Ok(()) } From 51f8bb821c13d9a70f509f2b439452fc44ef4324 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 7 Oct 2025 12:49:09 -0700 Subject: [PATCH 13/37] print debug logs --- flowey/flowey_lib_common/src/run_cargo_nextest_run.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index 2bec2961da..4c673f7cc3 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -408,6 +408,9 @@ impl FlowNode for Node { let mut file = fs_err::File::create_new(&output_path)?; file.write_all(nextest_list_json.to_string().as_bytes())?; + log::info!("containing dir: {}", containing_dir.display()); + log::info!("wrote nextest list output to {}", output_path.display()); + if let Some(nextest_list_output_file_write) = nextest_list_output_file_write { From cb736c0b66f84b1c755b6669716350352b677bbc Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 7 Oct 2025 13:15:28 -0700 Subject: [PATCH 14/37] Handle both dirs and files gracefully --- .../flowey_lib_common/src/publish_test_results.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 81cc7e2e98..14d7ff95dc 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -182,10 +182,17 @@ impl FlowNode for Node { if attachment_exists { if let Some(attachment_path) = attachment_path_opt { - copy_dir_all( - attachment_path, - output_dir.join(artifact_name), - )?; + if attachment_path.is_dir() { + copy_dir_all( + attachment_path, + output_dir.join(artifact_name), + )?; + } else { + fs_err::copy( + attachment_path, + output_dir.join(artifact_name), + )?; + } } } From d1348e7545fe8f87ba603ce066661a5f7a8767da Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 7 Oct 2025 13:15:55 -0700 Subject: [PATCH 15/37] Remove logging statements --- flowey/flowey_lib_common/src/run_cargo_nextest_run.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index 4c673f7cc3..2bec2961da 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -408,9 +408,6 @@ impl FlowNode for Node { let mut file = fs_err::File::create_new(&output_path)?; file.write_all(nextest_list_json.to_string().as_bytes())?; - log::info!("containing dir: {}", containing_dir.display()); - log::info!("wrote nextest list output to {}", output_path.display()); - if let Some(nextest_list_output_file_write) = nextest_list_output_file_write { From 4c0d38349c7ac9323296af6a0073489db80eb739 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 7 Oct 2025 13:54:04 -0700 Subject: [PATCH 16/37] . --- .../src/publish_test_results.rs | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 14d7ff95dc..4c1af3ce9d 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -142,11 +142,6 @@ impl FlowNode for Node { "copy attachments to artifacts directory: {label} ({attachment_label})" ); let artifact_name = format!("{label}-{attachment_label}"); - - // Normalize both variants to a `ReadVar>` so the rest of - // the logic can treat attachments uniformly. `Logs` always contains a - // `PathBuf`, so map it to `Some(path)`. `NextestListJson` already - // contains an `Option`. let attachment_path_opt = match attachment_kind { Attachments::Logs(p) => p.map(ctx, Some), Attachments::NextestListJson(p) => p, @@ -217,10 +212,17 @@ impl FlowNode for Node { if attachment_exists { if let Some(attachment_path) = attachment_path_opt { - copy_dir_all( - attachment_path, - output_dir.join(artifact_name), - )?; + if attachment_path.is_dir() { + copy_dir_all( + attachment_path, + output_dir.join(artifact_name), + )?; + } else { + fs_err::copy( + attachment_path, + output_dir.join(artifact_name), + )?; + } } } From 29623335bd3a502bfa414f65a0577d031c5529d5 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 7 Oct 2025 14:10:25 -0700 Subject: [PATCH 17/37] Proper refactor of publish_test_result.rs --- .../src/publish_test_results.rs | 103 ++++++------------ 1 file changed, 34 insertions(+), 69 deletions(-) diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 4c1af3ce9d..18ab924fbd 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -160,79 +160,44 @@ impl FlowNode for Node { .unwrap_or(false) }); - match ctx.backend() { - FlowBackend::Ado => { - if publish_on_ado { - use_side_effects.push(attachment_exists.into_side_effect()); - } else if let Some(output_dir) = output_dir.clone() { - use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { - let output_dir = output_dir.claim(ctx); - let attachment_exists = attachment_exists.claim(ctx); - let attachment_path_opt = attachment_path_opt.claim(ctx); - - move |rt| { - let output_dir = rt.read(output_dir); - let attachment_exists = rt.read(attachment_exists); - let attachment_path_opt = rt.read(attachment_path_opt); - - if attachment_exists { - if let Some(attachment_path) = attachment_path_opt { - if attachment_path.is_dir() { - copy_dir_all( - attachment_path, - output_dir.join(artifact_name), - )?; - } else { - fs_err::copy( - attachment_path, - output_dir.join(artifact_name), - )?; - } - } - } + if matches!(ctx.backend(), FlowBackend::Ado) && !publish_on_ado { + use_side_effects.push(attachment_exists.into_side_effect()); + use_side_effects.push(attachment_path_opt.into_side_effect()); + continue; + } - Ok(()) - } - })); - } else { - use_side_effects.push(attachment_exists.into_side_effect()); - } - } - FlowBackend::Github | FlowBackend::Local => { - if let Some(output_dir) = output_dir.clone() { - use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { - let output_dir = output_dir.claim(ctx); - let attachment_exists = attachment_exists.claim(ctx); - let attachment_path_opt = attachment_path_opt.claim(ctx); - - move |rt| { - let output_dir = rt.read(output_dir); - let attachment_exists = rt.read(attachment_exists); - let attachment_path_opt = rt.read(attachment_path_opt); - - if attachment_exists { - if let Some(attachment_path) = attachment_path_opt { - if attachment_path.is_dir() { - copy_dir_all( - attachment_path, - output_dir.join(artifact_name), - )?; - } else { - fs_err::copy( - attachment_path, - output_dir.join(artifact_name), - )?; - } - } + if let Some(output_dir) = output_dir.clone() { + use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { + let output_dir = output_dir.claim(ctx); + let attachment_exists = attachment_exists.claim(ctx); + let attachment_path_opt = attachment_path_opt.claim(ctx); + + move |rt| { + let output_dir = rt.read(output_dir); + let attachment_exists = rt.read(attachment_exists); + let attachment_path_opt = rt.read(attachment_path_opt); + + if attachment_exists { + if let Some(attachment_path) = attachment_path_opt { + if attachment_path.is_dir() { + copy_dir_all( + attachment_path, + output_dir.join(artifact_name), + )?; + } else { + fs_err::copy( + attachment_path, + output_dir.join(artifact_name), + )?; } - - Ok(()) } - })); - } else { - use_side_effects.push(attachment_exists.into_side_effect()); + } + + Ok(()) } - } + })); + } else { + use_side_effects.push(attachment_exists.into_side_effect()); } } } From 3fa2e2e6e26373515d73af5de4e9ce9e2c211e2d Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 7 Oct 2025 16:42:32 -0700 Subject: [PATCH 18/37] More cleanup --- .github/workflows/openvmm-ci.yaml | 1136 ++++++++-------- .github/workflows/openvmm-pr-release.yaml | 1136 ++++++++-------- .github/workflows/openvmm-pr.yaml | 1154 ++++++++--------- .../src/pipelines/checkin_gates.rs | 20 +- .../src/publish_test_results.rs | 99 +- .../_jobs/build_and_run_nextest_unit_tests.rs | 7 +- ...ume_and_test_nextest_unit_tests_archive.rs | 7 +- ...sume_and_test_nextest_vmm_tests_archive.rs | 9 +- .../local_build_and_run_nextest_vmm_tests.rs | 7 +- 9 files changed, 1763 insertions(+), 1812 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index cc9de560f0..cf73e23353 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -435,7 +435,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 10 flowey_lib_common::git_checkout 0 - flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -443,7 +443,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -463,14 +463,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 4 - flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -537,14 +537,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 0 - flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -584,17 +584,7 @@ jobs: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 10 flowey_lib_common::publish_test_results 0 flowey.exe e 10 flowey_lib_common::publish_test_results 1 - flowey.exe e 10 flowey_lib_common::publish_test_results 2 - flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -708,14 +698,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 4 - flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -734,7 +724,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 11 flowey_lib_common::git_checkout 0 - flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -742,7 +732,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -835,14 +825,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 0 - flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -887,17 +877,7 @@ jobs: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 11 flowey_lib_common::publish_test_results 0 flowey e 11 flowey_lib_common::publish_test_results 1 - flowey e 11 flowey_lib_common::publish_test_results 2 - flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-linux-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1002,7 +982,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1010,7 +990,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1034,14 +1014,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1141,14 +1121,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1193,17 +1173,7 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 - flowey e 12 flowey_lib_common::publish_test_results 2 - flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-musl-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-linux-musl-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1306,14 +1276,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 0 - flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1341,7 +1311,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 13 flowey_lib_common::git_checkout 0 - flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1349,7 +1319,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1369,14 +1339,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 4 - flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1424,17 +1394,7 @@ jobs: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 13 flowey_lib_common::publish_test_results 0 flowey.exe e 13 flowey_lib_common::publish_test_results 1 - flowey.exe e 13 flowey_lib_common::publish_test_results 2 - flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: aarch64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1486,6 +1446,8 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-junit-xml" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1498,8 +1460,55 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: creating new test content dir + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 14 flowey_lib_common::cache 4 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + shell: bash + - id: flowey_lib_common__cache__5 + uses: actions/cache@v4 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3475,12 +3447,12 @@ jobs: cat <<'EOF' | flowey v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index dab802cc25..33ada8f556 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -437,7 +437,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 10 flowey_lib_common::git_checkout 0 - flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -445,7 +445,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -465,14 +465,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 4 - flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -539,14 +539,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 10 flowey_lib_common::cache 0 - flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -586,17 +586,7 @@ jobs: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 10 flowey_lib_common::publish_test_results 0 flowey.exe e 10 flowey_lib_common::publish_test_results 1 - flowey.exe e 10 flowey_lib_common::publish_test_results 2 - flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -710,14 +700,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 4 - flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -736,7 +726,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 11 flowey_lib_common::git_checkout 0 - flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -744,7 +734,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -837,14 +827,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 11 flowey_lib_common::cache 0 - flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -889,17 +879,7 @@ jobs: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 11 flowey_lib_common::publish_test_results 0 flowey e 11 flowey_lib_common::publish_test_results 1 - flowey e 11 flowey_lib_common::publish_test_results 2 - flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-linux-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1004,7 +984,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1012,7 +992,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1036,14 +1016,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1143,14 +1123,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1195,17 +1175,7 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 - flowey e 12 flowey_lib_common::publish_test_results 2 - flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-musl-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-linux-musl-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1308,14 +1278,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 0 - flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1343,7 +1313,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 13 flowey_lib_common::git_checkout 0 - flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1351,7 +1321,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1371,14 +1341,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 13 flowey_lib_common::cache 4 - flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1426,17 +1396,7 @@ jobs: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 13 flowey_lib_common::publish_test_results 0 flowey.exe e 13 flowey_lib_common::publish_test_results 1 - flowey.exe e 13 flowey_lib_common::publish_test_results 2 - flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: aarch64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1488,6 +1448,8 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-junit-xml" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1500,8 +1462,55 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: creating new test content dir + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 14 flowey_lib_common::cache 4 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + shell: bash + - id: flowey_lib_common__cache__5 + uses: actions/cache@v4 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3477,12 +3449,12 @@ jobs: cat <<'EOF' | flowey v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index f66180c68f..545d4a3d38 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -684,7 +684,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 11 flowey_lib_common::git_checkout 0 - flowey.exe v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -692,7 +692,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -712,14 +712,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 11 flowey_lib_common::cache 4 - flowey.exe v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -786,14 +786,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 11 flowey_lib_common::cache 0 - flowey.exe v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -833,17 +833,7 @@ jobs: flowey.exe e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 11 flowey_lib_common::publish_test_results 0 flowey.exe e 11 flowey_lib_common::publish_test_results 1 - flowey.exe e 11 flowey_lib_common::publish_test_results 2 - flowey.exe v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey.exe v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -957,14 +947,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 4 - flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -983,7 +973,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 12 flowey_lib_common::git_checkout 0 - flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -991,7 +981,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1084,14 +1074,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 12 flowey_lib_common::cache 0 - flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1136,17 +1126,7 @@ jobs: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 12 flowey_lib_common::publish_test_results 0 flowey e 12 flowey_lib_common::publish_test_results 1 - flowey e 12 flowey_lib_common::publish_test_results 2 - flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-linux-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1251,7 +1231,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 13 flowey_lib_common::git_checkout 0 - flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1259,7 +1239,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1283,14 +1263,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 13 flowey_lib_common::cache 4 - flowey v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1390,14 +1370,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 13 flowey_lib_common::cache 0 - flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1442,17 +1422,7 @@ jobs: flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey e 13 flowey_lib_common::publish_test_results 0 flowey e 13 flowey_lib_common::publish_test_results 1 - flowey e 13 flowey_lib_common::publish_test_results 2 - flowey v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-musl-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: x64-linux-musl-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1555,14 +1525,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1590,7 +1560,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar5 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1598,7 +1568,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar6 }} + persist-credentials: ${{ env.floweyvar5 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1618,14 +1588,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1673,17 +1643,7 @@ jobs: flowey.exe e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 - flowey.exe e 14 flowey_lib_common::publish_test_results 2 - flowey.exe v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 - flowey.exe v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__3 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-unit-tests-junit-xml - path: ${{ env.floweyvar1 }} - name: 'copy test results to artifact directory: aarch64-windows-unit-tests (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: flowey.exe e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 shell: bash @@ -1735,6 +1695,8 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-junit-xml" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1747,8 +1709,55 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 15 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 15 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: creating new test content dir + - name: create cargo-nextest cache dir + 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: |- + flowey.exe e 15 flowey_lib_common::cache 4 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + shell: bash + - id: flowey_lib_common__cache__5 + uses: actions/cache@v4 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 15 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3724,12 +3696,12 @@ jobs: cat <<'EOF' | flowey v 21 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output run: flowey e 21 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 91321b25f0..4217958848 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -1009,11 +1009,15 @@ impl IntoPipeline for CheckinGatesCli { ] { let test_label = format!("{label}-vmm-tests"); - let (pub_vmm_tests_results, use_vmm_tests_results) = + let (pub_vmm_tests_results_full, _) = pipeline.new_artifact(format!("{label}-vmm-tests-results")); - pipeline.force_publish_artifact(&pub_vmm_tests_results); - vmm_tests_results_artifacts.push((label.to_string(), use_vmm_tests_results)); + let (pub_vmm_tests_results_light, use_vmm_tests_results_light) = + pipeline.new_artifact(format!("{label}-vmm-tests-results-junit-xml")); + + pipeline.force_publish_artifact(&pub_vmm_tests_results_full); + + vmm_tests_results_artifacts.push((label.to_string(), use_vmm_tests_results_light)); let use_vmm_tests_archive = match target { CommonTriple::X86_64_WINDOWS_MSVC => &use_vmm_tests_archive_windows_x86, @@ -1036,7 +1040,15 @@ impl IntoPipeline for CheckinGatesCli { dep_artifact_dirs: resolve_vmm_tests_artifacts(ctx), test_artifacts, fail_job_on_test_fail: true, - artifact_dir: Some(ctx.publish_artifact(pub_vmm_tests_results)), + artifact_dirs: + flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { + test_results_light: Some( + ctx.publish_artifact(pub_vmm_tests_results_light), + ), + test_results_full: Some( + ctx.publish_artifact(pub_vmm_tests_results_full), + ), + }, needs_prep_run, done: ctx.new_done_handle(), } diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 18ab924fbd..0336ac009b 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -19,6 +19,14 @@ pub enum Attachments { NextestListJson(ReadVar>), } +#[derive(Serialize, Deserialize)] +pub struct VmmTestResultsArtifacts { + /// Light test results (junit.xml, nextest-list.json) + pub test_results_light: Option>, + /// Full test results (all logs, dumps, etc) + pub test_results_full: Option>, +} + flowey_request! { pub struct Request { /// Path to a junit.xml file @@ -41,8 +49,7 @@ flowey_request! { /// will instead be uploaded via the JUnit integration. pub attachments: BTreeMap, /// Copy the xml file and attachments to the provided directory. - /// Only supported on local backend. - pub output_dir: Option>, + pub output_dirs: Option, /// Side-effect confirming that the publish has succeeded pub done: WriteVar, } @@ -65,7 +72,7 @@ impl FlowNode for Node { junit_xml, test_label: label, attachments, - output_dir, + output_dirs, done, } in requests { @@ -91,45 +98,36 @@ impl FlowNode for Node { } })); } - FlowBackend::Github => { - let junit_xml = junit_xml.map(ctx, |p| { - p.absolute().expect("invalid path").display().to_string() - }); - - // Note: usually flowey's built-in artifact publishing API - // should be used instead of this, but here we need to - // manually upload the artifact now so that it is still - // uploaded even if the pipeline fails. - use_side_effects.push( - ctx.emit_gh_step(step_name, "actions/upload-artifact@v4") - .condition(has_junit_xml) - .with("name", artifact_name) - .with("path", junit_xml) - .finish(ctx), - ); - } - FlowBackend::Local => { - if let Some(output_dir) = output_dir.clone() { - use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { - let output_dir = output_dir.claim(ctx); - let has_junit_xml = has_junit_xml.claim(ctx); - let junit_xml = junit_xml.claim(ctx); - - move |rt| { - let output_dir = rt.read(output_dir); - let has_junit_xml = rt.read(has_junit_xml); - let junit_xml = rt.read(junit_xml); - - if has_junit_xml { - fs_err::copy( - junit_xml, - output_dir.join(format!("{artifact_name}.xml")), - )?; - } + FlowBackend::Github | FlowBackend::Local => { + // Copy the junit XML into the "light" results directory if one + // was provided. This covers both GitHub and local runs. + if let Some(output_dirs_ref) = output_dirs.as_ref() { + if let Some(test_results_light) = output_dirs_ref.test_results_light.clone() + { + use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { + let output_dir = test_results_light.claim(ctx); + let has_junit_xml = has_junit_xml.claim(ctx); + let junit_xml = junit_xml.claim(ctx); + + move |rt| { + let output_dir = rt.read(output_dir); + let has_junit_xml = rt.read(has_junit_xml); + let junit_xml = rt.read(junit_xml); + + if has_junit_xml { + fs_err::copy( + junit_xml, + output_dir.join(format!("{artifact_name}.xml")), + )?; + } - Ok(()) - } - })); + Ok(()) + } + })); + } else { + use_side_effects.push(has_junit_xml.into_side_effect()); + use_side_effects.push(junit_xml.into_side_effect()); + } } else { use_side_effects.push(has_junit_xml.into_side_effect()); use_side_effects.push(junit_xml.into_side_effect()); @@ -142,9 +140,9 @@ impl FlowNode for Node { "copy attachments to artifacts directory: {label} ({attachment_label})" ); let artifact_name = format!("{label}-{attachment_label}"); - let attachment_path_opt = match attachment_kind { - Attachments::Logs(p) => p.map(ctx, Some), - Attachments::NextestListJson(p) => p, + let attachment_path_opt = match &attachment_kind { + Attachments::Logs(p) => p.clone().map(ctx, Some), + Attachments::NextestListJson(p) => p.clone(), }; let attachment_exists = attachment_path_opt.map(ctx, |opt| { @@ -166,8 +164,17 @@ impl FlowNode for Node { continue; } - if let Some(output_dir) = output_dir.clone() { - use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { + // Decide which output directory to use based on the attachment kind. + let maybe_output_dir = + output_dirs + .as_ref() + .and_then(|dirs| match &attachment_kind { + Attachments::Logs(_) => dirs.test_results_full.clone(), + Attachments::NextestListJson(_) => dirs.test_results_light.clone(), + }); + + if let Some(output_dir) = maybe_output_dir { + use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { let output_dir = output_dir.claim(ctx); let attachment_exists = attachment_exists.claim(ctx); let attachment_path_opt = attachment_path_opt.claim(ctx); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs index f8206f2d76..30a561d85b 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs @@ -70,7 +70,12 @@ impl SimpleFlowNode for Node { junit_xml, test_label: junit_test_label, attachments: BTreeMap::new(), - output_dir: artifact_dir, + output_dirs: Some( + flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { + test_results_light: None, + test_results_full: artifact_dir, + }, + ), done: v, }); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs index 00d642e555..5efc23fe1c 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs @@ -60,7 +60,12 @@ impl SimpleFlowNode for Node { junit_xml, test_label: junit_test_label, attachments: BTreeMap::new(), - output_dir: artifact_dir, + output_dirs: Some( + flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { + test_results_light: None, + test_results_full: artifact_dir, + }, + ), done: v, }); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index 676f2ce862..ff370f4343 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -14,6 +14,7 @@ use crate::build_vmgstool::VmgstoolOutput; use crate::install_vmm_tests_deps::VmmTestsDepSelections; use crate::run_cargo_nextest_run::NextestProfile; use flowey::node::prelude::*; +use flowey_lib_common::publish_test_results::VmmTestResultsArtifacts; use std::collections::BTreeMap; use vmm_test_images::KnownTestArtifacts; @@ -52,8 +53,8 @@ flowey_request! { /// Whether the job should fail if any test has failed pub fail_job_on_test_fail: bool, - /// If provided, also publish junit.xml test results as an artifact. - pub artifact_dir: Option>, + /// Artifacts corresponding to test results + pub artifact_dirs: VmmTestResultsArtifacts, pub done: WriteVar, } } @@ -87,7 +88,7 @@ impl SimpleFlowNode for Node { test_artifacts, fail_job_on_test_fail, needs_prep_run, - artifact_dir, + artifact_dirs, done, } = request; @@ -228,7 +229,7 @@ impl SimpleFlowNode for Node { ), ), ]), - output_dir: artifact_dir, + output_dirs: Some(artifact_dirs), done: v, }); 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 a968457667..3fa3f8a199 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 @@ -933,7 +933,12 @@ impl SimpleFlowNode for Node { junit_xml, test_label, attachments: BTreeMap::new(), // the logs are already there - output_dir: Some(ReadVar::from_static(test_content_dir)), + output_dirs: Some( + flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { + test_results_light: None, + test_results_full: Some(ReadVar::from_static(test_content_dir)), + }, + ), done: v, }); From e944546da16fda71386b727b779130302bd3ec89 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 7 Oct 2025 22:30:22 -0700 Subject: [PATCH 19/37] Add file extension --- flowey/flowey_lib_common/src/publish_test_results.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index 0336ac009b..ad1a46d705 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -85,6 +85,8 @@ impl FlowNode for Node { let junit_xml = junit_xml.map(ctx, |p| p.unwrap_or_default()); match ctx.backend() { + // Since ADO supports native JUnit test result publishing, + // we don't need to copy the XML file to an artifact directory. FlowBackend::Ado => { use_side_effects.push(ctx.reqv(|v| { crate::ado_task_publish_test_results::Request { @@ -139,10 +141,13 @@ impl FlowNode for Node { let step_name = format!( "copy attachments to artifacts directory: {label} ({attachment_label})" ); - let artifact_name = format!("{label}-{attachment_label}"); + let mut artifact_name = format!("{label}-{attachment_label}"); let attachment_path_opt = match &attachment_kind { Attachments::Logs(p) => p.clone().map(ctx, Some), - Attachments::NextestListJson(p) => p.clone(), + Attachments::NextestListJson(p) => { + artifact_name += ".json"; + p.clone() + } }; let attachment_exists = attachment_path_opt.map(ctx, |opt| { From 2cd9f9db030f2fca46556ace1bf63b6e1c6701fc Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Wed, 8 Oct 2025 13:03:07 -0700 Subject: [PATCH 20/37] Fix local vmm_tests --- .../src/run_cargo_nextest_run.rs | 35 +++++++------------ 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index 2bec2961da..26ff7d16ac 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -236,7 +236,6 @@ impl FlowNode for Node { Some(list_cmd) } }; - let has_list_cmd = list_cmd.is_some(); let cmd = ctx.reqv(|v| crate::gen_cargo_nextest_run_cmd::Request { run_kind_deps, @@ -265,12 +264,7 @@ impl FlowNode for Node { let junit_xml_write = junit_xml_write.claim(ctx); let list_cmd = list_cmd.claim(ctx); let cmd = cmd.claim(ctx); - - let nextest_list_output_file_write = if has_list_cmd { - Some(nextest_list_output_file_write.claim(ctx)) - } else { - None - }; + let nextest_list_output_file_write = nextest_list_output_file_write.claim(ctx); move |rt| { let working_dir = rt.read(working_dir); @@ -396,10 +390,9 @@ impl FlowNode for Node { rt.write(junit_xml_write, &junit_xml); // run the list command to get all tests in the executable - if let Some(list_cmd) = list_cmd { + let nextest_list_output = if let Some(list_cmd) = list_cmd { let (status, stdout_opt) = run_command(&list_cmd, &working_dir, true)?; anyhow::ensure!(status.success(), "failed to list tests in executable"); - let nextest_list_json = get_nextest_list_output_from_stdout(&stdout_opt.unwrap())?; if let Some(ref junit_xml_path) = junit_xml { @@ -407,14 +400,15 @@ impl FlowNode for Node { let output_path = containing_dir.join("nextest_list.json"); let mut file = fs_err::File::create_new(&output_path)?; file.write_all(nextest_list_json.to_string().as_bytes())?; - - if let Some(nextest_list_output_file_write) = - nextest_list_output_file_write - { - rt.write(nextest_list_output_file_write, &output_path.absolute()?); - } + Some(output_path.absolute()?) + } else { + None } - } + } else { + None + }; + + rt.write(nextest_list_output_file_write, &nextest_list_output); Ok(()) } @@ -423,18 +417,13 @@ impl FlowNode for Node { ctx.emit_minor_rust_step("write results", |ctx| { let all_tests_passed = all_tests_passed_read.claim(ctx); let junit_xml = junit_xml_read.claim(ctx); - let nextest_list_output = if has_list_cmd { - Some(nextest_list_output_file_read.claim(ctx)) - } else { - None - }; + let nextest_list_output_file_read = nextest_list_output_file_read.claim(ctx); let results = results.claim(ctx); move |rt| { let all_tests_passed = rt.read(all_tests_passed); let junit_xml = rt.read(junit_xml); - - let nextest_list_output = nextest_list_output.map(|v| rt.read(v)); + let nextest_list_output = rt.read(nextest_list_output_file_read); rt.write( results, From fcb1ed575f6151de164bcbf880a8ce3c09a561a1 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Thu, 9 Oct 2025 09:57:12 -0700 Subject: [PATCH 21/37] Scope changes in YAML --- .github/workflows/openvmm-ci.yaml | 69 ++++--------------- .github/workflows/openvmm-docs-ci.yaml | 3 - .github/workflows/openvmm-docs-pr.yaml | 3 - .github/workflows/openvmm-pr-release.yaml | 67 ++++-------------- .github/workflows/openvmm-pr.yaml | 67 ++++-------------- .../src/pipeline_resolver/ado_yaml.rs | 14 ++-- .../src/pipeline_resolver/github_yaml/mod.rs | 11 ++- .../src/pipelines/checkin_gates.rs | 1 + 8 files changed, 48 insertions(+), 187 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 8e6f948055..152858db35 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1682,18 +1682,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-intel-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-intel-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job15: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -1976,18 +1976,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-intel-tdx-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-intel-tdx-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job16: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2263,18 +2263,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-amd-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-amd-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job17: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2557,18 +2557,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-amd-snp-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-amd-snp-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job18: name: run vmm-tests [x64-linux] runs-on: @@ -2844,18 +2844,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-linux-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-linux-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job19: name: run vmm-tests [aarch64-windows] runs-on: @@ -3180,18 +3180,18 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: aarch64-windows-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish aarch64-windows-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3383,28 +3383,24 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-hypestv uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ @@ -3823,42 +3819,36 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-pipette uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-prep_steps uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-tmk_vmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ @@ -4058,28 +4048,24 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-hypestv uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ @@ -4333,42 +4319,36 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-pipette uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-prep_steps uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-tmk_vmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/ @@ -4644,49 +4624,42 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-guest_test_uefi uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-tmks uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-tmks path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ @@ -5004,56 +4977,48 @@ jobs: shell: bash - name: 🌼📦 Publish x64-guest_test_uefi uses: actions/upload-artifact@v4 - if: success() with: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ include-hidden-files: true - name: 🌼📦 Publish x64-tmks uses: actions/upload-artifact@v4 - if: success() with: name: x64-tmks path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ @@ -5381,35 +5346,30 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v4 - if: success() 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@v4 - if: success() with: name: aarch64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-baseline uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-openhcl-baseline path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-baseline/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm-extras uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ @@ -5831,35 +5791,30 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-musl-pipette uses: actions/upload-artifact@v4 - if: success() 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@v4 - if: success() with: name: x64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-baseline uses: actions/upload-artifact@v4 - if: success() with: name: x64-openhcl-baseline path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-baseline/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm uses: actions/upload-artifact@v4 - if: success() with: name: x64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm-extras uses: actions/upload-artifact@v4 - if: success() with: name: x64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ diff --git a/.github/workflows/openvmm-docs-ci.yaml b/.github/workflows/openvmm-docs-ci.yaml index 4eccc84a28..b72459c45f 100644 --- a/.github/workflows/openvmm-docs-ci.yaml +++ b/.github/workflows/openvmm-docs-ci.yaml @@ -169,7 +169,6 @@ jobs: shell: bash - name: 🌼📦 Publish guide uses: actions/upload-artifact@v4 - if: success() with: name: guide path: ${{ runner.temp }}/publish_artifacts/guide/ @@ -335,7 +334,6 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-rustdoc uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-rustdoc path: ${{ runner.temp }}/publish_artifacts/x64-windows-rustdoc/ @@ -507,7 +505,6 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-rustdoc uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-rustdoc path: ${{ runner.temp }}/publish_artifacts/x64-linux-rustdoc/ diff --git a/.github/workflows/openvmm-docs-pr.yaml b/.github/workflows/openvmm-docs-pr.yaml index ef395fba9c..acb3d90e9d 100644 --- a/.github/workflows/openvmm-docs-pr.yaml +++ b/.github/workflows/openvmm-docs-pr.yaml @@ -177,7 +177,6 @@ jobs: shell: bash - name: 🌼📦 Publish guide uses: actions/upload-artifact@v4 - if: success() with: name: guide path: ${{ runner.temp }}/publish_artifacts/guide/ @@ -343,7 +342,6 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-rustdoc uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-rustdoc path: ${{ runner.temp }}/publish_artifacts/x64-windows-rustdoc/ @@ -515,7 +513,6 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-rustdoc uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-rustdoc path: ${{ runner.temp }}/publish_artifacts/x64-linux-rustdoc/ diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index e31b5e8206..6037de02a4 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -1684,18 +1684,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-intel-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-intel-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job15: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -1978,18 +1978,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-intel-tdx-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-intel-tdx-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job16: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2265,18 +2265,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-amd-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-amd-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job17: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2559,18 +2559,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-amd-snp-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-amd-snp-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job18: name: run vmm-tests [x64-linux] runs-on: @@ -2846,18 +2846,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-linux-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-linux-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job19: name: run vmm-tests [aarch64-windows] runs-on: @@ -3182,18 +3182,18 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: aarch64-windows-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish aarch64-windows-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3385,28 +3385,24 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-hypestv uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ @@ -3825,42 +3821,36 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-pipette uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-prep_steps uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-tmk_vmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ @@ -4060,28 +4050,24 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-hypestv uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ @@ -4335,42 +4321,36 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-pipette uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-prep_steps uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-tmk_vmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/ @@ -4646,49 +4626,42 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-guest_test_uefi uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-tmks uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-tmks path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ @@ -5006,56 +4979,48 @@ jobs: shell: bash - name: 🌼📦 Publish x64-guest_test_uefi uses: actions/upload-artifact@v4 - if: success() with: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ include-hidden-files: true - name: 🌼📦 Publish x64-tmks uses: actions/upload-artifact@v4 - if: success() with: name: x64-tmks path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ @@ -5362,28 +5327,24 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v4 - if: success() 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@v4 - if: success() with: name: aarch64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm-extras uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ @@ -5787,28 +5748,24 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-musl-pipette uses: actions/upload-artifact@v4 - if: success() 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@v4 - if: success() with: name: x64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm uses: actions/upload-artifact@v4 - if: success() with: name: x64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm-extras uses: actions/upload-artifact@v4 - if: success() with: name: x64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 886425c6b0..75252b4ff7 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -1931,18 +1931,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-intel-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-intel-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job16: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -2225,18 +2225,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-intel-tdx-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-intel-tdx-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job17: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2512,18 +2512,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-amd-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-amd-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job18: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2806,18 +2806,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-windows-amd-snp-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-amd-snp-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job19: name: run vmm-tests [x64-linux] runs-on: @@ -3093,18 +3093,18 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: x64-linux-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish x64-linux-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3296,28 +3296,24 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-hypestv uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ @@ -3646,18 +3642,18 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-vmm-tests-results uses: actions/upload-artifact@v4 - if: always() with: name: aarch64-windows-vmm-tests-results path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results/ include-hidden-files: true + if: always() - name: 🌼📦 Publish aarch64-windows-vmm-tests-results-junit-xml uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmm-tests-results-junit-xml path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml/ include-hidden-files: true + if: always() job21: name: verify all tests run at least once runs-on: @@ -4131,42 +4127,36 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-windows-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-pipette uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-prep_steps uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-tmk_vmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ @@ -4366,28 +4356,24 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-hypestv uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-hypestv path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ @@ -4641,42 +4627,36 @@ jobs: shell: bash - name: 🌼📦 Publish x64-windows-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-pipette uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-pipette path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-prep_steps uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-prep_steps path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-tmk_vmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-windows-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: x64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/ @@ -4952,49 +4932,42 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-guest_test_uefi uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish aarch64-linux-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish aarch64-tmks uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-tmks path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ @@ -5312,56 +5285,48 @@ jobs: shell: bash - name: 🌼📦 Publish x64-guest_test_uefi uses: actions/upload-artifact@v4 - if: success() with: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-igvmfilegen uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-ohcldiag-dev uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-ohcldiag-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-openvmm uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-openvmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgs_lib uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmgstool uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmgstool path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ include-hidden-files: true - name: 🌼📦 Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@v4 - if: success() with: name: x64-linux-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ include-hidden-files: true - name: 🌼📦 Publish x64-tmks uses: actions/upload-artifact@v4 - if: success() with: name: x64-tmks path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ @@ -5668,28 +5633,24 @@ jobs: shell: bash - name: 🌼📦 Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v4 - if: success() 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@v4 - if: success() with: name: aarch64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish aarch64-openhcl-igvm-extras uses: actions/upload-artifact@v4 - if: success() with: name: aarch64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ @@ -6093,28 +6054,24 @@ jobs: shell: bash - name: 🌼📦 Publish x64-linux-musl-pipette uses: actions/upload-artifact@v4 - if: success() 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@v4 - if: success() with: name: x64-linux-musl-tmk_vmm path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm uses: actions/upload-artifact@v4 - if: success() with: name: x64-openhcl-igvm path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ include-hidden-files: true - name: 🌼📦 Publish x64-openhcl-igvm-extras uses: actions/upload-artifact@v4 - if: success() with: name: x64-openhcl-igvm-extras path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ diff --git a/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs b/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs index 6ec49075da..9e83cc6a70 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs @@ -435,21 +435,21 @@ EOF force_upload, } in artifacts_published { - let force_upload = if *force_upload { - "always()" - } else { - "succeeded()" - }; ado_steps.push({ - let map: serde_yaml::Mapping = serde_yaml::from_str(&format!( + let mut map: serde_yaml::Mapping = serde_yaml::from_str(&format!( r#" publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/{name} displayName: '🌼📦 Publish {name}' artifact: {name} - condition: {force_upload} "# )) .unwrap(); + if *force_upload { + map.insert( + "condition".into(), + serde_yaml::Value::String("always()".into()), + ); + } map.into() }); } diff --git a/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs b/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs index 1928d40091..6cfaf1b06e 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs @@ -439,17 +439,11 @@ EOF force_upload, } in artifacts_published { - let force_upload = if *force_upload { - "always()" - } else { - "success()" - }; gh_steps.push({ - let map: serde_yaml::Mapping = serde_yaml::from_str(&format!( + let mut map: serde_yaml::Mapping = serde_yaml::from_str(&format!( r#" name: 🌼📦 Publish {name} uses: actions/upload-artifact@v4 - if: {force_upload} with: name: {name} path: {RUNNER_TEMP}/publish_artifacts/{name}/ @@ -457,6 +451,9 @@ EOF "# )) .unwrap(); + if *force_upload { + map.insert("if".into(), serde_yaml::Value::String("always()".into())); + } map.into() }); } diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 02dc502286..de7e0b0e5b 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -1019,6 +1019,7 @@ impl IntoPipeline for CheckinGatesCli { pipeline.new_artifact(format!("{label}-vmm-tests-results-junit-xml")); pipeline.force_publish_artifact(&pub_vmm_tests_results_full); + pipeline.force_publish_artifact(&pub_vmm_tests_results_light); vmm_tests_results_artifacts.push((label.to_string(), use_vmm_tests_results_light)); From d5222303ac3e1ce1f675b64bf6604807cab5558e Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Fri, 10 Oct 2025 11:22:00 -0700 Subject: [PATCH 22/37] Address feedback --- .github/workflows/openvmm-ci.yaml | 666 ++++++++++++------ .github/workflows/openvmm-pr-release.yaml | 666 ++++++++++++------ .github/workflows/openvmm-pr.yaml | 666 ++++++++++++------ .../src/gen_cargo_nextest_list_cmd.rs | 28 +- flowey/flowey_lib_common/src/lib.rs | 1 + .../src/run_cargo_nextest_list.rs | 169 +++++ .../src/run_cargo_nextest_run.rs | 66 -- ...sume_and_test_nextest_vmm_tests_archive.rs | 25 +- .../src/_jobs/verify_all_tests_run.rs | 37 +- flowey/flowey_lib_hvlite/src/lib.rs | 1 + .../src/run_cargo_nextest_list.rs | 100 +++ .../src/run_cargo_nextest_run.rs | 126 +++- 12 files changed, 1723 insertions(+), 828 deletions(-) create mode 100644 flowey/flowey_lib_common/src/run_cargo_nextest_list.rs create mode 100644 flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 152858db35..39716de1a9 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1469,23 +1469,25 @@ jobs: shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 14 flowey_lib_common::cache 8 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - - id: flowey_lib_common__cache__5 + - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <, + /// Path to nextest binary + pub nextest_bin: ReadVar, + /// Target triple for the build + pub target: ReadVar, /// Working directory the test archive was created from. pub working_dir: ReadVar, /// Path to `.config/nextest.toml` @@ -36,7 +40,9 @@ impl FlowNode for Node { fn emit(requests: Vec, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { for Request { - run_kind_deps, + archive_file, + nextest_bin, + target, working_dir, config_file, nextest_profile, @@ -45,18 +51,12 @@ impl FlowNode for Node { command: list_cmd, } in requests { - if let gen_cargo_nextest_run_cmd::RunKindDeps::BuildAndRun { - params: _, - nextest_installed: _, - rust_toolchain: _, - cargo_flags: _, - } = run_kind_deps - { - anyhow::bail!("BuildAndRun is not supported.") - } - let run_cmd = ctx.reqv(|v| gen_cargo_nextest_run_cmd::Request { - run_kind_deps, + run_kind_deps: gen_cargo_nextest_run_cmd::RunKindDeps::RunFromArchive { + archive_file, + nextest_bin, + target, + }, working_dir, config_file, tool_config_files: Vec::new(), // Ignored diff --git a/flowey/flowey_lib_common/src/lib.rs b/flowey/flowey_lib_common/src/lib.rs index ec38a4bb5e..9880c69756 100644 --- a/flowey/flowey_lib_common/src/lib.rs +++ b/flowey/flowey_lib_common/src/lib.rs @@ -52,5 +52,6 @@ pub mod run_cargo_build; pub mod run_cargo_clippy; pub mod run_cargo_doc; pub mod run_cargo_nextest_archive; +pub mod run_cargo_nextest_list; pub mod run_cargo_nextest_run; pub mod use_gh_cli; diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs new file mode 100644 index 0000000000..0995037779 --- /dev/null +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +//! Run cargo-nextest tests. +use flowey::node::prelude::*; +use std::collections::BTreeMap; +use std::io::Write; +use std::process::ExitStatus; +use std::process::Stdio; + +flowey_request! { + pub struct Request { + /// Path to nextest archive file + pub archive_file: ReadVar, + /// Path to nextest binary + pub nextest_bin: Option>, + /// Target triple for the build + pub target: Option>, + /// Working directory the test archive was created from. + pub working_dir: ReadVar, + /// Path to `.config/nextest.toml` + pub config_file: ReadVar, + /// Nextest profile to use when running the source code + pub nextest_profile: String, + /// Nextest test filter expression + pub nextest_filter_expr: Option, + /// Additional env vars set when executing the tests. + pub extra_env: Option>>, + /// Output directory for the nextest list output file + pub output_dir: ReadVar>, + /// Wait for specified side-effects to resolve + pub pre_run_deps: Vec>, + /// Final path to nextest list output file + pub output_file: WriteVar>, + } +} + +new_simple_flow_node!(struct Node); + +impl SimpleFlowNode for Node { + type Request = Request; + + fn imports(ctx: &mut ImportCtx<'_>) { + ctx.import::(); + ctx.import::(); + } + + fn process_request(request: Self::Request, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { + let Request { + archive_file, + nextest_bin, + target, + working_dir, + config_file, + nextest_profile, + nextest_filter_expr, + extra_env, + output_dir, + pre_run_deps, + output_file, + } = request; + + let target = target.unwrap_or(ReadVar::from_static(target_lexicon::Triple::host())); + + let nextest_bin = nextest_bin.unwrap_or_else(|| { + ctx.reqv(|v| crate::download_cargo_nextest::Request::Get(target.clone(), v)) + }); + + let cmd = ctx.reqv(|v| crate::gen_cargo_nextest_list_cmd::Request { + archive_file, + nextest_bin, + target, + working_dir: working_dir.clone(), + config_file, + nextest_profile, + nextest_filter_expr, + extra_env, + command: v, + }); + + ctx.emit_rust_step("run cargo-nextest list", |ctx| { + pre_run_deps.claim(ctx); + let cmd = cmd.claim(ctx); + let working_dir = working_dir.claim(ctx); + let output_file = output_file.claim(ctx); + let output_dir = output_dir.claim(ctx); + + move |rt| { + let working_dir = rt.read(working_dir); + let cmd = rt.read(cmd); + let output_dir = rt.read(output_dir); + + if output_dir.is_none() { + rt.write(output_file, &None); + return Ok(()); + } + + let (status, stdout) = + run_command(&cmd, &working_dir, /* capture_stdout: */ true)?; + + if !status.success() { + anyhow::bail!( + "cargo-nextest list command failed with exit code: {}", + status.code().unwrap_or(-1) + ); + } + + let stdout = stdout + .as_deref() + .ok_or_else(|| anyhow::anyhow!("failed to capture stdout"))?; + + let json_value = get_nextest_list_output_from_stdout(stdout)?; + + let final_path = output_dir.unwrap().join("nextest_list_output.json"); + let mut file = fs_err::File::create(&final_path)?; + file.write_all(serde_json::to_string_pretty(&json_value)?.as_bytes())?; + file.flush()?; + + rt.write(output_file, &Some(final_path.to_path_buf())); + + Ok(()) + } + }); + + Ok(()) + } +} + +fn run_command( + cmd: &crate::gen_cargo_nextest_run_cmd::Command, + working_dir: &PathBuf, + capture_stdout: bool, +) -> anyhow::Result<(ExitStatus, Option)> { + let mut command = std::process::Command::new(&cmd.argv0); + command + .args(&cmd.args) + .envs(&cmd.env) + .current_dir(working_dir); + + if capture_stdout { + command.stdout(Stdio::piped()); + } else { + command.stdout(Stdio::inherit()); + } + + let mut child = command + .spawn() + .with_context(|| format!("failed to spawn '{}'", cmd.argv0.to_string_lossy()))?; + + if capture_stdout { + let output = child.wait_with_output()?; + let stdout_str = String::from_utf8_lossy(&output.stdout).into_owned(); + Ok((output.status, Some(stdout_str))) + } else { + let status = child.wait()?; + Ok((status, None)) + } +} + +fn get_nextest_list_output_from_stdout(output: &str) -> anyhow::Result { + // nextest list prints a few lines of non-json output before the actual + // JSON output, so we need to find the first line that is valid JSON + for line in output.lines() { + if let Ok(json_value) = serde_json::from_str::(line) { + return Ok(json_value); + } + } + anyhow::bail!("failed to find JSON output in nextest list command output"); +} diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index 26ff7d16ac..9339134bc9 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -6,7 +6,6 @@ use crate::gen_cargo_nextest_run_cmd::RunKindDeps; use flowey::node::prelude::*; use std::collections::BTreeMap; -use std::io::Write; use std::process::ExitStatus; use std::process::Stdio; @@ -15,8 +14,6 @@ pub struct TestResults { pub all_tests_passed: bool, /// Path to JUnit XML output (if enabled by the nextest profile) pub junit_xml: Option, - /// Path to JSON file containing output of `cargo nextest list` command (if running in ci) - pub nextest_list_output: Option, } /// Parameters related to building nextest tests @@ -213,30 +210,6 @@ impl FlowNode for Node { } }; - let list_cmd = match &run_kind_deps { - RunKindDeps::BuildAndRun { .. } => None, - RunKindDeps::RunFromArchive { - archive_file, - nextest_bin, - target, - } => { - let list_cmd = ctx.reqv(|v| crate::gen_cargo_nextest_list_cmd::Request { - run_kind_deps: RunKindDeps::RunFromArchive { - archive_file: archive_file.clone(), - nextest_bin: nextest_bin.clone(), - target: target.clone(), - }, - working_dir: working_dir.clone(), - config_file: config_file.clone(), - nextest_profile: nextest_profile.clone(), - nextest_filter_expr: None, // Ignored - extra_env: extra_env.clone(), - command: v, - }); - Some(list_cmd) - } - }; - let cmd = ctx.reqv(|v| crate::gen_cargo_nextest_run_cmd::Request { run_kind_deps, working_dir: working_dir.clone(), @@ -253,7 +226,6 @@ impl FlowNode for Node { let (all_tests_passed_read, all_tests_passed_write) = ctx.new_var(); let (junit_xml_read, junit_xml_write) = ctx.new_var(); - let (nextest_list_output_file_read, nextest_list_output_file_write) = ctx.new_var(); ctx.emit_rust_step(format!("run '{friendly_name}' nextest tests"), |ctx| { pre_run_deps.claim(ctx); @@ -262,15 +234,12 @@ impl FlowNode for Node { let config_file = config_file.claim(ctx); let all_tests_passed_var = all_tests_passed_write.claim(ctx); let junit_xml_write = junit_xml_write.claim(ctx); - let list_cmd = list_cmd.claim(ctx); let cmd = cmd.claim(ctx); - let nextest_list_output_file_write = nextest_list_output_file_write.claim(ctx); move |rt| { let working_dir = rt.read(working_dir); let config_file = rt.read(config_file); let cmd = rt.read(cmd); - let list_cmd = rt.read(list_cmd); // first things first - determine if junit is supported by // the profile, and if so, where the output if going to be. @@ -389,27 +358,6 @@ impl FlowNode for Node { rt.write(junit_xml_write, &junit_xml); - // run the list command to get all tests in the executable - let nextest_list_output = if let Some(list_cmd) = list_cmd { - let (status, stdout_opt) = run_command(&list_cmd, &working_dir, true)?; - anyhow::ensure!(status.success(), "failed to list tests in executable"); - let nextest_list_json = - get_nextest_list_output_from_stdout(&stdout_opt.unwrap())?; - if let Some(ref junit_xml_path) = junit_xml { - let containing_dir = junit_xml_path.parent().unwrap().to_path_buf(); - let output_path = containing_dir.join("nextest_list.json"); - let mut file = fs_err::File::create_new(&output_path)?; - file.write_all(nextest_list_json.to_string().as_bytes())?; - Some(output_path.absolute()?) - } else { - None - } - } else { - None - }; - - rt.write(nextest_list_output_file_write, &nextest_list_output); - Ok(()) } }); @@ -417,20 +365,17 @@ impl FlowNode for Node { ctx.emit_minor_rust_step("write results", |ctx| { let all_tests_passed = all_tests_passed_read.claim(ctx); let junit_xml = junit_xml_read.claim(ctx); - let nextest_list_output_file_read = nextest_list_output_file_read.claim(ctx); let results = results.claim(ctx); move |rt| { let all_tests_passed = rt.read(all_tests_passed); let junit_xml = rt.read(junit_xml); - let nextest_list_output = rt.read(nextest_list_output_file_read); rt.write( results, &TestResults { all_tests_passed, junit_xml, - nextest_list_output, }, ); } @@ -496,14 +441,3 @@ fn run_command( Ok((status, None)) } } - -fn get_nextest_list_output_from_stdout(output: &str) -> anyhow::Result { - // nextest list prints a few lines of non-json output before the actual - // JSON output, so we need to find the first line that is valid JSON - for line in output.lines() { - if let Ok(json_value) = serde_json::from_str::(line) { - return Ok(json_value); - } - } - anyhow::bail!("failed to find JSON output in nextest list command output"); -} diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index ff370f4343..e794f74ee7 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -72,6 +72,7 @@ impl SimpleFlowNode for Node { ctx.import::(); ctx.import::(); ctx.import::(); + ctx.import::(); ctx.import::(); ctx.import::(); ctx.import::(); @@ -189,14 +190,14 @@ impl SimpleFlowNode for Node { } let results = ctx.reqv(|v| crate::test_nextest_vmm_tests_archive::Request { - nextest_archive_file: nextest_vmm_tests_archive, - nextest_profile, - nextest_filter_expr, + nextest_archive_file: nextest_vmm_tests_archive.clone(), + nextest_profile: nextest_profile.clone(), + nextest_filter_expr: nextest_filter_expr.clone(), nextest_working_dir: None, nextest_config_file: None, nextest_bin: None, target: None, - extra_env, + extra_env: extra_env.clone(), pre_run_deps, results: v, }); @@ -206,7 +207,21 @@ impl SimpleFlowNode for Node { let test_log_path = test_log_path.depending_on(ctx, &results); let junit_xml = results.map(ctx, |r| r.junit_xml); - let nextest_list_json = results.map(ctx, |r| r.nextest_list_output); + let output_dir = junit_xml.map(ctx, |p| p.map(|p| p.parent().unwrap().to_path_buf())); + let archive_file = nextest_vmm_tests_archive.map(ctx, |x| x.archive_file); + let nextest_list_json = ctx.reqv(|v| crate::run_cargo_nextest_list::Request { + archive_file, + nextest_bin: None, + target: None, + working_dir: None, + config_file: None, + nextest_profile: nextest_profile.as_str().to_owned(), + nextest_filter_expr: nextest_filter_expr.clone(), + extra_env: Some(extra_env), + output_dir, + pre_run_deps: vec![], + output_file: v, + }); let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { junit_xml, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs index 1f4d7276a8..16ca798ca8 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -49,6 +49,11 @@ impl SimpleFlowNode for Node { let parse = ctx.emit_rust_step( "parse and analyze junit logs and nextest list output", |ctx| { + // This step takes all of the junit XML files (i.e. the tests that were run) and the nextest list output (i.e. the tests that were built) + // and verifies that the set of all tests that were built is the same as the set of all tests that were run. + // If these sets were to differ it would be because a test was built but not run, which indicates a test gap. + // We have automation in the test run step that will automatically skip tests that are not meant to run on a given host because the host does + // not meet the test case requirements. For example, TDX/SNP tests are skipped on non-compatible hardware. let artifacts: Vec<_> = test_artifacts .into_iter() .map(|(prefix, path)| (prefix, path.claim(ctx))) @@ -69,13 +74,15 @@ impl SimpleFlowNode for Node { let junit_xml = artifact_dir.clone().join(&junit_xml); let nextest_list = artifact_dir.clone().join(&nextest_list); - let junit_test_names = get_testcase_names_from_junit_xml(&junit_xml)?; + get_testcase_names_from_junit_xml( + &junit_xml, + &mut combined_junit_testcases, + )?; - let nextest_test_names = - get_testcase_names_from_nextest_list_json(&nextest_list)?; - - combined_junit_testcases.extend(junit_test_names.into_iter()); - combined_nextest_testcases.extend(nextest_test_names.into_iter()); + get_testcase_names_from_nextest_list_json( + &nextest_list, + &mut combined_nextest_testcases, + )?; } assert!( @@ -102,11 +109,13 @@ impl SimpleFlowNode for Node { } } -fn get_testcase_names_from_junit_xml(junit_path: &PathBuf) -> anyhow::Result> { +fn get_testcase_names_from_junit_xml( + junit_path: &PathBuf, + test_names: &mut HashSet, +) -> anyhow::Result<()> { let mut reader = Reader::from_file(junit_path)?; let mut buf = Vec::new(); - let mut test_names = Vec::new(); loop { match reader.read_event_into(&mut buf)? { @@ -123,7 +132,7 @@ fn get_testcase_names_from_junit_xml(junit_path: &PathBuf) -> anyhow::Result break, @@ -131,21 +140,21 @@ fn get_testcase_names_from_junit_xml(junit_path: &PathBuf) -> anyhow::Result anyhow::Result> { + test_names: &mut HashSet, +) -> anyhow::Result<()> { let data = fs_err::read_to_string(nextest_list_output_path)?; let root: Root = serde_json::from_str(&data)?; - let mut test_names = Vec::new(); for (suite_name, suite) in root.rust_suites { for test_name in suite.testcases.keys() { - test_names.push(format!("{}::{}", suite_name, test_name)); + test_names.insert(format!("{}::{}", suite_name, test_name)); } } - Ok(test_names) + Ok(()) } diff --git a/flowey/flowey_lib_hvlite/src/lib.rs b/flowey/flowey_lib_hvlite/src/lib.rs index 5c6b0df326..c39adc31b6 100644 --- a/flowey/flowey_lib_hvlite/src/lib.rs +++ b/flowey/flowey_lib_hvlite/src/lib.rs @@ -53,6 +53,7 @@ pub mod install_git_credential_manager; pub mod install_openvmm_rust_build_essential; pub mod install_vmm_tests_deps; pub mod run_cargo_build; +pub mod run_cargo_nextest_list; pub mod run_cargo_nextest_run; pub mod run_igvmfilegen; pub mod run_prep_steps; diff --git a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs new file mode 100644 index 0000000000..ad25d598b6 --- /dev/null +++ b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +//! Run cargo-nextest tests. +use flowey::node::prelude::*; +use std::collections::BTreeMap; + +flowey_request! { + pub struct Request { + /// Path to nextest archive file + pub archive_file: ReadVar, + /// Path to nextest binary + pub nextest_bin: Option>, + /// Target triple for the build + pub target: Option>, + /// Working directory the test archive was created from. + pub working_dir: Option>, + /// Path to `.config/nextest.toml` + pub config_file: Option>, + /// Nextest profile to use when running the source code + pub nextest_profile: String, + /// Nextest test filter expression + pub nextest_filter_expr: Option, + /// Additional env vars set when executing the tests. + pub extra_env: Option>>, + /// Output directory for the nextest list output file + pub output_dir: ReadVar>, + /// Wait for specified side-effects to resolve + pub pre_run_deps: Vec>, + /// Final path to nextest list output file + pub output_file: WriteVar>, + } +} + +new_simple_flow_node!(struct Node); + +impl SimpleFlowNode for Node { + type Request = Request; + + fn imports(ctx: &mut ImportCtx<'_>) { + ctx.import::(); + ctx.import::(); + } + + fn process_request(request: Self::Request, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { + let openvmm_repo_path = crate::run_cargo_nextest_run::get_openvmm_repo_path(ctx); + + let default_nextest_config_file = crate::run_cargo_nextest_run::default_nextest_config_file( + openvmm_repo_path.clone(), + ctx, + ); + + let base_env = crate::run_cargo_nextest_run::base_env(); + + let Request { + archive_file, + nextest_bin, + target, + working_dir, + config_file, + nextest_profile, + nextest_filter_expr, + extra_env, + output_dir, + mut pre_run_deps, + output_file, + } = request; + + let extra_env = + crate::run_cargo_nextest_run::merged_extra_env(extra_env, base_env.clone(), ctx); + + let working_dir = crate::run_cargo_nextest_run::resolve_working_dir( + working_dir, + openvmm_repo_path.clone(), + &mut pre_run_deps, + ); + + let config_file = crate::run_cargo_nextest_run::resolve_config_file( + config_file, + default_nextest_config_file.clone(), + &mut pre_run_deps, + ); + + ctx.req(flowey_lib_common::run_cargo_nextest_list::Request { + archive_file, + nextest_bin, + target, + working_dir, + config_file, + nextest_profile, + nextest_filter_expr, + extra_env: Some(extra_env), + output_dir, + pre_run_deps, + output_file, + }); + + Ok(()) + } +} diff --git a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs index 2e53073e20..15d24889b8 100644 --- a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs @@ -11,8 +11,80 @@ use flowey_lib_common::run_cargo_nextest_run::NextestRunKind; use flowey_lib_common::run_cargo_nextest_run::TestResults; use std::collections::BTreeMap; +/// Shared helpers for resolving nextest-related paths and environment for HvLite flowey nodes. +pub fn get_openvmm_repo_path(ctx: &mut NodeCtx<'_>) -> ReadVar { + ctx.reqv(crate::git_checkout_openvmm_repo::req::GetRepoDir) +} + +pub fn default_nextest_config_file( + openvmm_repo_path: ReadVar, + ctx: &mut NodeCtx<'_>, +) -> ReadVar { + openvmm_repo_path.map(ctx, |p| p.join(".config").join("nextest.toml")) +} + +pub fn base_env() -> BTreeMap { + [ + // Used by the test_with_tracing macro in test runners + ("RUST_LOG", "trace,mesh_node=info"), + // Used by the process spawned for VMM tests + ("OPENVMM_LOG", "debug,mesh_node=info"), + ] + .into_iter() + .map(|(a, b)| (a.to_owned(), b.to_owned())) + .collect::>() +} + +/// Merge optional extra_env with the base env. Returns a ReadVar containing the merged map. +pub fn merged_extra_env( + extra_env: Option>>, + base_env: BTreeMap, + ctx: &mut NodeCtx<'_>, +) -> ReadVar> { + if let Some(with_env) = extra_env { + let base_env = base_env.clone(); + with_env.map(ctx, move |mut m| { + m.extend(base_env); + m + }) + } else { + ReadVar::from_static(base_env.clone()) + } +} + +/// Resolve the working directory: if an explicit working dir is provided, add a side-effect +/// on the repo path to `pre_run_deps` and return the provided value, otherwise return the repo path. +pub fn resolve_working_dir( + nextest_working_dir: Option>, + openvmm_repo_path: ReadVar, + pre_run_deps: &mut Vec>, +) -> ReadVar { + if let Some(nextest_working_dir) = nextest_working_dir { + pre_run_deps.push(openvmm_repo_path.clone().into_side_effect()); + nextest_working_dir + } else { + openvmm_repo_path.clone() + } +} + +/// Resolve the config file: if an explicit config file is provided, add a side-effect +/// on the default config file to `pre_run_deps` and return the provided value, otherwise +/// return the default config file. +pub fn resolve_config_file( + nextest_config_file: Option>, + default_nextest_config_file: ReadVar, + pre_run_deps: &mut Vec>, +) -> ReadVar { + if let Some(nextest_config_file) = nextest_config_file { + pre_run_deps.push(default_nextest_config_file.clone().into_side_effect()); + nextest_config_file + } else { + default_nextest_config_file.clone() + } +} + /// Nextest profiles defined in HvLite's `.config/nextest.toml` -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Clone)] pub enum NextestProfile { Default, Ci, @@ -65,20 +137,12 @@ impl FlowNode for Node { } fn emit(requests: Vec, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { - let openvmm_repo_path = ctx.reqv(crate::git_checkout_openvmm_repo::req::GetRepoDir); + let openvmm_repo_path = get_openvmm_repo_path(ctx); let default_nextest_config_file = - openvmm_repo_path.map(ctx, |p| p.join(".config").join("nextest.toml")); - - let base_env = [ - // Used by the test_with_tracing macro in test runners - ("RUST_LOG", "trace,mesh_node=info"), - // Used by the process spawned for VMM tests - ("OPENVMM_LOG", "debug,mesh_node=info"), - ] - .into_iter() - .map(|(a, b)| (a.to_owned(), b.to_owned())) - .collect::>(); + default_nextest_config_file(openvmm_repo_path.clone(), ctx); + + let base_env = base_env(); for Request { friendly_name, @@ -93,29 +157,19 @@ impl FlowNode for Node { extra_env, } in requests { - let extra_env = if let Some(with_env) = extra_env { - let base_env = base_env.clone(); - with_env.map(ctx, move |mut m| { - m.extend(base_env); - m - }) - } else { - ReadVar::from_static(base_env.clone()) - }; - - let working_dir = if let Some(nextest_working_dir) = nextest_working_dir { - pre_run_deps.push(openvmm_repo_path.clone().into_side_effect()); - nextest_working_dir - } else { - openvmm_repo_path.clone() - }; - - let config_file = if let Some(nextest_config_file) = nextest_config_file { - pre_run_deps.push(default_nextest_config_file.clone().into_side_effect()); - nextest_config_file - } else { - default_nextest_config_file.clone() - }; + let extra_env = merged_extra_env(extra_env, base_env.clone(), ctx); + + let working_dir = resolve_working_dir( + nextest_working_dir, + openvmm_repo_path.clone(), + &mut pre_run_deps, + ); + + let config_file = resolve_config_file( + nextest_config_file, + default_nextest_config_file.clone(), + &mut pre_run_deps, + ); ctx.req(flowey_lib_common::run_cargo_nextest_run::Request::Run( flowey_lib_common::run_cargo_nextest_run::Run { From b4595ac13a7165c7e3a69c18dcb4835cdf959ec5 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Fri, 10 Oct 2025 13:36:54 -0700 Subject: [PATCH 23/37] . --- .github/workflows/openvmm-ci.yaml | 62 +++++++++++++++++- .github/workflows/openvmm-pr-release.yaml | 62 +++++++++++++++++- .github/workflows/openvmm-pr.yaml | 62 +++++++++++++++++- .../src/pipelines/checkin_gates.rs | 27 ++++++-- .../src/publish_test_results.rs | 65 +++++++++---------- .../_jobs/build_and_run_nextest_unit_tests.rs | 11 ++-- ...ume_and_test_nextest_unit_tests_archive.rs | 11 ++-- ...sume_and_test_nextest_vmm_tests_archive.rs | 2 +- .../local_build_and_run_nextest_vmm_tests.rs | 11 ++-- .../src/_jobs/verify_all_tests_run.rs | 31 ++++++--- 10 files changed, 272 insertions(+), 72 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 39716de1a9..8716c2e26d 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1448,6 +1448,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-junit-xml" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1728,6 +1730,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job15: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -1771,6 +1780,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2056,6 +2067,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job16: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2097,6 +2115,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results" | flowey.exe v 16 'artifact_publish_from_x64-windows-amd-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results-junit-xml" | flowey.exe v 16 'artifact_publish_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey.exe v 16 'artifact_publish_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 16 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2377,6 +2397,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job17: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2420,6 +2447,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2705,6 +2734,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job18: name: run vmm-tests [x64-linux] runs-on: @@ -2746,6 +2782,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" | flowey v 18 'artifact_publish_from_x64-linux-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-junit-xml" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 18 'artifact_publish_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 18 'artifact_publish_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -3026,6 +3064,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-linux-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job19: name: run vmm-tests [aarch64-windows] runs-on: @@ -3117,6 +3162,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results" | flowey.exe v 19 'artifact_publish_from_aarch64-windows-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results-junit-xml" | flowey.exe v 19 'artifact_publish_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results-nextest-list-json" | flowey.exe v 19 'artifact_publish_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update @@ -3396,6 +3443,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish aarch64-windows-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3630,7 +3684,7 @@ jobs: - name: 🌼📦 Download artifacts uses: actions/download-artifact@v4 with: - pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-6,aarch64-windows-vmm-tests-results-junit-xml,x64-linux-vmm-tests-results-junit-xml,x64-windows-amd-snp-vmm-tests-results-junit-xml,x64-windows-amd-vmm-tests-results-junit-xml,x64-windows-intel-tdx-vmm-tests-results-junit-xml,x64-windows-intel-vmm-tests-results-junit-xml}' + pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-6,aarch64-windows-vmm-tests-results-junit-xml,aarch64-windows-vmm-tests-results-nextest-list-json,x64-linux-vmm-tests-results-junit-xml,x64-linux-vmm-tests-results-nextest-list-json,x64-windows-amd-snp-vmm-tests-results-junit-xml,x64-windows-amd-snp-vmm-tests-results-nextest-list-json,x64-windows-amd-vmm-tests-results-junit-xml,x64-windows-amd-vmm-tests-results-nextest-list-json,x64-windows-intel-tdx-vmm-tests-results-junit-xml,x64-windows-intel-tdx-vmm-tests-results-nextest-list-json,x64-windows-intel-vmm-tests-results-junit-xml,x64-windows-intel-vmm-tests-results-nextest-list-json}' path: ${{ runner.temp }}/used_artifacts/ - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-6" >> $GITHUB_PATH shell: bash @@ -3650,11 +3704,17 @@ jobs: ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index c2220d5730..8a1d3421eb 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -1450,6 +1450,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-junit-xml" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1730,6 +1732,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job15: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -1773,6 +1782,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2058,6 +2069,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job16: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2099,6 +2117,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results" | flowey.exe v 16 'artifact_publish_from_x64-windows-amd-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results-junit-xml" | flowey.exe v 16 'artifact_publish_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey.exe v 16 'artifact_publish_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 16 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2379,6 +2399,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job17: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2422,6 +2449,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2707,6 +2736,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job18: name: run vmm-tests [x64-linux] runs-on: @@ -2748,6 +2784,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" | flowey v 18 'artifact_publish_from_x64-linux-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-junit-xml" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 18 'artifact_publish_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 18 'artifact_publish_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -3028,6 +3066,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-linux-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job19: name: run vmm-tests [aarch64-windows] runs-on: @@ -3119,6 +3164,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results" | flowey.exe v 19 'artifact_publish_from_aarch64-windows-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results-junit-xml" | flowey.exe v 19 'artifact_publish_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results-nextest-list-json" | flowey.exe v 19 'artifact_publish_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update @@ -3398,6 +3445,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish aarch64-windows-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3632,7 +3686,7 @@ jobs: - name: 🌼📦 Download artifacts uses: actions/download-artifact@v4 with: - pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-6,aarch64-windows-vmm-tests-results-junit-xml,x64-linux-vmm-tests-results-junit-xml,x64-windows-amd-snp-vmm-tests-results-junit-xml,x64-windows-amd-vmm-tests-results-junit-xml,x64-windows-intel-tdx-vmm-tests-results-junit-xml,x64-windows-intel-vmm-tests-results-junit-xml}' + pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-6,aarch64-windows-vmm-tests-results-junit-xml,aarch64-windows-vmm-tests-results-nextest-list-json,x64-linux-vmm-tests-results-junit-xml,x64-linux-vmm-tests-results-nextest-list-json,x64-windows-amd-snp-vmm-tests-results-junit-xml,x64-windows-amd-snp-vmm-tests-results-nextest-list-json,x64-windows-amd-vmm-tests-results-junit-xml,x64-windows-amd-vmm-tests-results-nextest-list-json,x64-windows-intel-tdx-vmm-tests-results-junit-xml,x64-windows-intel-tdx-vmm-tests-results-nextest-list-json,x64-windows-intel-vmm-tests-results-junit-xml,x64-windows-intel-vmm-tests-results-nextest-list-json}' path: ${{ runner.temp }}/used_artifacts/ - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-6" >> $GITHUB_PATH shell: bash @@ -3652,11 +3706,17 @@ jobs: ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index f7cefbf7ca..9779c576ae 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -1697,6 +1697,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-junit-xml" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey.exe v 15 'artifact_publish_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1977,6 +1979,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-intel-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job16: name: run vmm-tests [x64-windows-intel-tdx] runs-on: @@ -2020,6 +2029,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results" | flowey.exe v 16 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey.exe v 16 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey.exe v 16 'artifact_publish_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 16 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2305,6 +2316,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-intel-tdx-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job17: name: run vmm-tests [x64-windows-amd] runs-on: @@ -2346,6 +2364,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results-junit-xml" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey.exe v 17 'artifact_publish_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2626,6 +2646,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-amd-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job18: name: run vmm-tests [x64-windows-amd-snp] runs-on: @@ -2669,6 +2696,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results" | flowey.exe v 18 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey.exe v 18 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey.exe v 18 'artifact_publish_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -2954,6 +2983,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-windows-amd-snp-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job19: name: run vmm-tests [x64-linux] runs-on: @@ -2995,6 +3031,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" | flowey v 19 'artifact_publish_from_x64-linux-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-junit-xml" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 19 'artifact_publish_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 19 'artifact_publish_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -3275,6 +3313,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish x64-linux-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job2: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: @@ -3579,6 +3624,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results" | flowey.exe v 20 'artifact_publish_from_aarch64-windows-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results-junit-xml" | flowey.exe v 20 'artifact_publish_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-results-nextest-list-json" | flowey.exe v 20 'artifact_publish_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update @@ -3858,6 +3905,13 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-junit-xml/ include-hidden-files: true if: always() + - name: 🌼📦 Publish aarch64-windows-vmm-tests-results-nextest-list-json + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-results-nextest-list-json + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json/ + include-hidden-files: true + if: always() job21: name: verify all tests run at least once runs-on: @@ -3879,7 +3933,7 @@ jobs: - name: 🌼📦 Download artifacts uses: actions/download-artifact@v4 with: - pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-7,aarch64-windows-vmm-tests-results-junit-xml,x64-linux-vmm-tests-results-junit-xml,x64-windows-amd-snp-vmm-tests-results-junit-xml,x64-windows-amd-vmm-tests-results-junit-xml,x64-windows-intel-tdx-vmm-tests-results-junit-xml,x64-windows-intel-vmm-tests-results-junit-xml}' + pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-7,aarch64-windows-vmm-tests-results-junit-xml,aarch64-windows-vmm-tests-results-nextest-list-json,x64-linux-vmm-tests-results-junit-xml,x64-linux-vmm-tests-results-nextest-list-json,x64-windows-amd-snp-vmm-tests-results-junit-xml,x64-windows-amd-snp-vmm-tests-results-nextest-list-json,x64-windows-amd-vmm-tests-results-junit-xml,x64-windows-amd-vmm-tests-results-nextest-list-json,x64-windows-intel-tdx-vmm-tests-results-junit-xml,x64-windows-intel-tdx-vmm-tests-results-nextest-list-json,x64-windows-intel-vmm-tests-results-junit-xml,x64-windows-intel-vmm-tests-results-nextest-list-json}' path: ${{ runner.temp }}/used_artifacts/ - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-7" >> $GITHUB_PATH shell: bash @@ -3899,11 +3953,17 @@ jobs: ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output run: flowey e 21 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index de7e0b0e5b..5d716ddeb4 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -1015,13 +1015,19 @@ impl IntoPipeline for CheckinGatesCli { let (pub_vmm_tests_results_full, _) = pipeline.new_artifact(format!("{label}-vmm-tests-results")); - let (pub_vmm_tests_results_light, use_vmm_tests_results_light) = + let (pub_vmm_tests_junit_xml, use_vmm_tests_junit_xml) = pipeline.new_artifact(format!("{label}-vmm-tests-results-junit-xml")); + let (pub_vmm_tests_nextest_list_json, use_vmm_tests_nextest_list_json) = + pipeline.new_artifact(format!("{label}-vmm-tests-results-nextest-list-json")); pipeline.force_publish_artifact(&pub_vmm_tests_results_full); - pipeline.force_publish_artifact(&pub_vmm_tests_results_light); + pipeline.force_publish_artifact(&pub_vmm_tests_junit_xml); + pipeline.force_publish_artifact(&pub_vmm_tests_nextest_list_json); - vmm_tests_results_artifacts.push((label.to_string(), use_vmm_tests_results_light)); + vmm_tests_results_artifacts.push(( + label.to_string(), + (use_vmm_tests_junit_xml, use_vmm_tests_nextest_list_json), + )); let use_vmm_tests_archive = match target { CommonTriple::X86_64_WINDOWS_MSVC => &use_vmm_tests_archive_windows_x86, @@ -1046,8 +1052,9 @@ impl IntoPipeline for CheckinGatesCli { fail_job_on_test_fail: true, artifact_dirs: flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { - test_results_light: Some( - ctx.publish_artifact(pub_vmm_tests_results_light), + junit_xml: Some(ctx.publish_artifact(pub_vmm_tests_junit_xml)), + nextest_list_json: Some( + ctx.publish_artifact(pub_vmm_tests_nextest_list_json), ), test_results_full: Some( ctx.publish_artifact(pub_vmm_tests_results_full), @@ -1088,7 +1095,15 @@ impl IntoPipeline for CheckinGatesCli { |ctx| flowey_lib_hvlite::_jobs::verify_all_tests_run::Request { test_artifacts: vmm_tests_results_artifacts .iter() - .map(|elem| (elem.0.clone(), ctx.use_artifact(&elem.1))) + .map(|elem| { + ( + elem.0.clone(), + flowey_lib_hvlite::_jobs::verify_all_tests_run::VmmTestResultsArtifacts { + junit_xml: ctx.use_artifact(&elem.1.0), + nextest_list_json: ctx.use_artifact(&elem.1.1), + }, + ) + }) .collect(), done: ctx.new_done_handle(), }, diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index ad1a46d705..d9aafbc7d1 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -21,8 +21,10 @@ pub enum Attachments { #[derive(Serialize, Deserialize)] pub struct VmmTestResultsArtifacts { - /// Light test results (junit.xml, nextest-list.json) - pub test_results_light: Option>, + /// Path to junit.xml + pub junit_xml: Option>, + /// Path to nextest-list.json + pub nextest_list_json: Option>, /// Full test results (all logs, dumps, etc) pub test_results_full: Option>, } @@ -49,7 +51,7 @@ flowey_request! { /// will instead be uploaded via the JUnit integration. pub attachments: BTreeMap, /// Copy the xml file and attachments to the provided directory. - pub output_dirs: Option, + pub output_dirs: VmmTestResultsArtifacts, /// Side-effect confirming that the publish has succeeded pub done: WriteVar, } @@ -103,33 +105,27 @@ impl FlowNode for Node { FlowBackend::Github | FlowBackend::Local => { // Copy the junit XML into the "light" results directory if one // was provided. This covers both GitHub and local runs. - if let Some(output_dirs_ref) = output_dirs.as_ref() { - if let Some(test_results_light) = output_dirs_ref.test_results_light.clone() - { - use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { - let output_dir = test_results_light.claim(ctx); - let has_junit_xml = has_junit_xml.claim(ctx); - let junit_xml = junit_xml.claim(ctx); - - move |rt| { - let output_dir = rt.read(output_dir); - let has_junit_xml = rt.read(has_junit_xml); - let junit_xml = rt.read(junit_xml); - - if has_junit_xml { - fs_err::copy( - junit_xml, - output_dir.join(format!("{artifact_name}.xml")), - )?; - } - - Ok(()) + if let Some(junit_xml_dst) = output_dirs.junit_xml { + use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { + let output_dir = junit_xml_dst.claim(ctx); + let has_junit_xml = has_junit_xml.claim(ctx); + let junit_xml = junit_xml.claim(ctx); + + move |rt| { + let output_dir = rt.read(output_dir); + let has_junit_xml = rt.read(has_junit_xml); + let junit_xml = rt.read(junit_xml); + + if has_junit_xml { + fs_err::copy( + junit_xml, + output_dir.join(format!("{artifact_name}.xml")), + )?; } - })); - } else { - use_side_effects.push(has_junit_xml.into_side_effect()); - use_side_effects.push(junit_xml.into_side_effect()); - } + + Ok(()) + } + })); } else { use_side_effects.push(has_junit_xml.into_side_effect()); use_side_effects.push(junit_xml.into_side_effect()); @@ -170,13 +166,10 @@ impl FlowNode for Node { } // Decide which output directory to use based on the attachment kind. - let maybe_output_dir = - output_dirs - .as_ref() - .and_then(|dirs| match &attachment_kind { - Attachments::Logs(_) => dirs.test_results_full.clone(), - Attachments::NextestListJson(_) => dirs.test_results_light.clone(), - }); + let maybe_output_dir = match &attachment_kind { + Attachments::Logs(_) => output_dirs.test_results_full.clone(), + Attachments::NextestListJson(_) => output_dirs.nextest_list_json.clone(), + }; if let Some(output_dir) = maybe_output_dir { use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { diff --git a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs index 30a561d85b..ac1a10e35c 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs @@ -70,12 +70,11 @@ impl SimpleFlowNode for Node { junit_xml, test_label: junit_test_label, attachments: BTreeMap::new(), - output_dirs: Some( - flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { - test_results_light: None, - test_results_full: artifact_dir, - }, - ), + output_dirs: flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { + junit_xml: None, + nextest_list_json: None, + test_results_full: artifact_dir, + }, done: v, }); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs index 5efc23fe1c..e2a75dd83b 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs @@ -60,12 +60,11 @@ impl SimpleFlowNode for Node { junit_xml, test_label: junit_test_label, attachments: BTreeMap::new(), - output_dirs: Some( - flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { - test_results_light: None, - test_results_full: artifact_dir, - }, - ), + output_dirs: flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { + junit_xml: None, + nextest_list_json: None, + test_results_full: artifact_dir, + }, done: v, }); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index e794f74ee7..e1d9b06477 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -244,7 +244,7 @@ impl SimpleFlowNode for Node { ), ), ]), - output_dirs: Some(artifact_dirs), + output_dirs: artifact_dirs, done: v, }); 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 900f8975eb..303b919325 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 @@ -934,12 +934,11 @@ impl SimpleFlowNode for Node { junit_xml, test_label, attachments: BTreeMap::new(), // the logs are already there - output_dirs: Some( - flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { - test_results_light: None, - test_results_full: Some(ReadVar::from_static(test_content_dir)), - }, - ), + output_dirs: flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { + junit_xml: None, + nextest_list_json: None, + test_results_full: Some(ReadVar::from_static(test_content_dir)), + }, done: v, }); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs index 16ca798ca8..4c72d5cbcf 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -20,9 +20,15 @@ struct Suite { testcases: HashMap, // we don't care about contents } +#[derive(Serialize, Deserialize)] +pub struct VmmTestResultsArtifacts { + pub junit_xml: ReadVar, + pub nextest_list_json: ReadVar, +} + flowey_request! { pub struct Request { - pub test_artifacts: Vec<(String, ReadVar)>, + pub test_artifacts: Vec<(String, VmmTestResultsArtifacts)>, pub done: WriteVar, } } @@ -56,23 +62,32 @@ impl SimpleFlowNode for Node { // not meet the test case requirements. For example, TDX/SNP tests are skipped on non-compatible hardware. let artifacts: Vec<_> = test_artifacts .into_iter() - .map(|(prefix, path)| (prefix, path.claim(ctx))) + .map(|(prefix, artifacts)| { + ( + prefix, + artifacts.junit_xml.claim(ctx), + artifacts.nextest_list_json.claim(ctx), + ) + }) .collect(); move |rt| { let mut combined_junit_testcases: HashSet = HashSet::new(); let mut combined_nextest_testcases: HashSet = HashSet::new(); - for (prefix, path) in artifacts { - let artifact_dir = rt.read(path); - println!("Artifact dir: {}", artifact_dir.display()); - assert!(artifact_dir.exists(), "expected artifact dir to exist"); + for (prefix, junit_xml_dir, nextest_list_json_dir) in artifacts { + let junit_xml_dir = rt.read(junit_xml_dir); + let nextest_list_dir = rt.read(nextest_list_json_dir); + println!("Artifact dir: {}", junit_xml_dir.display()); + println!("Artifact dir: {}", nextest_list_dir.display()); + assert!(junit_xml_dir.exists(), "expected artifact dir to exist"); + assert!(nextest_list_dir.exists(), "expected artifact dir to exist"); let junit_xml = prefix.clone() + "-vmm-tests-junit-xml.xml"; let nextest_list = prefix.clone() + "-vmm-tests-nextest-list.json"; - let junit_xml = artifact_dir.clone().join(&junit_xml); - let nextest_list = artifact_dir.clone().join(&nextest_list); + let junit_xml = junit_xml_dir.clone().join(&junit_xml); + let nextest_list = nextest_list_dir.clone().join(&nextest_list); get_testcase_names_from_junit_xml( &junit_xml, From 717272cbe55318d065afceab346f9ca42d9712ea Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 13 Oct 2025 10:43:42 -0700 Subject: [PATCH 24/37] . --- .../src/pipelines/checkin_gates.rs | 15 +- .../src/publish_test_results.rs | 146 +++++++++++++----- .../_jobs/build_and_run_nextest_unit_tests.rs | 20 ++- ...ume_and_test_nextest_unit_tests_archive.rs | 20 ++- ...sume_and_test_nextest_vmm_tests_archive.rs | 65 ++++---- .../local_build_and_run_nextest_vmm_tests.rs | 21 ++- 6 files changed, 175 insertions(+), 112 deletions(-) diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 5d716ddeb4..a9ecf17651 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -1050,16 +1050,11 @@ impl IntoPipeline for CheckinGatesCli { dep_artifact_dirs: resolve_vmm_tests_artifacts(ctx), test_artifacts, fail_job_on_test_fail: true, - artifact_dirs: - flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { - junit_xml: Some(ctx.publish_artifact(pub_vmm_tests_junit_xml)), - nextest_list_json: Some( - ctx.publish_artifact(pub_vmm_tests_nextest_list_json), - ), - test_results_full: Some( - ctx.publish_artifact(pub_vmm_tests_results_full), - ), - }, + junit_xml_output_dir: ctx.publish_artifact(pub_vmm_tests_junit_xml), + nextest_list_json_output_dir: ctx + .publish_artifact(pub_vmm_tests_nextest_list_json), + test_results_full_output_dir: ctx + .publish_artifact(pub_vmm_tests_results_full), needs_prep_run, done: ctx.new_done_handle(), } diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index d9aafbc7d1..d1b4923f6c 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -20,40 +20,53 @@ pub enum Attachments { } #[derive(Serialize, Deserialize)] -pub struct VmmTestResultsArtifacts { - /// Path to junit.xml - pub junit_xml: Option>, - /// Path to nextest-list.json - pub nextest_list_json: Option>, - /// Full test results (all logs, dumps, etc) - pub test_results_full: Option>, +pub struct PublishUnitTestResults { + /// Path to a junit.xml file + /// + /// HACK: this is an optional since `flowey` doesn't (yet?) have any way + /// to perform conditional-requests, and there are instances where nodes + /// will only conditionally output JUnit XML. + /// + /// To keep making forward progress, I've tweaked this node to accept an + /// optional... but this ain't great. + pub junit_xml: ReadVar>, + pub test_label: String, + /// Copy full test results (all logs, dumps, etc) to the provided directory. + pub output_dir: Option>, + /// Side-effect confirming that the publish has succeeded + pub done: WriteVar, +} + +pub type PublishVmmTestResultsLocal = PublishUnitTestResults; + +#[derive(Serialize, Deserialize)] +pub struct PublishVmmTestResultsCi { + pub junit_xml: ReadVar>, + /// Brief string used when publishing the test. + /// Must be unique to the pipeline. + pub test_label: String, + /// Additional files or directories to upload. + /// + /// The boolean indicates whether the attachment is referenced in the + /// JUnit XML file. On backends with native JUnit attachment support, + /// these attachments will not be uploaded as distinct artifacts and + /// will instead be uploaded via the JUnit integration. + pub attachments: BTreeMap, + /// Copy the junit xml file to the provided directory. + pub junit_xml_output_dir: ReadVar, + /// Copy the nextest-list.json to the provided directory. + pub nextest_list_json_output_dir: ReadVar, + /// Copy full test results (all logs, dumps, etc) to the provided directory. + pub test_results_full_output_dir: ReadVar, + /// Side-effect confirming that the publish has succeeded + pub done: WriteVar, } flowey_request! { - pub struct Request { - /// Path to a junit.xml file - /// - /// HACK: this is an optional since `flowey` doesn't (yet?) have any way - /// to perform conditional-requests, and there are instances where nodes - /// will only conditionally output JUnit XML. - /// - /// To keep making forward progress, I've tweaked this node to accept an - /// optional... but this ain't great. - pub junit_xml: ReadVar>, - /// Brief string used when publishing the test. - /// Must be unique to the pipeline. - pub test_label: String, - /// Additional files or directories to upload. - /// - /// The boolean indicates whether the attachment is referenced in the - /// JUnit XML file. On backends with native JUnit attachment support, - /// these attachments will not be uploaded as distinct artifacts and - /// will instead be uploaded via the JUnit integration. - pub attachments: BTreeMap, - /// Copy the xml file and attachments to the provided directory. - pub output_dirs: VmmTestResultsArtifacts, - /// Side-effect confirming that the publish has succeeded - pub done: WriteVar, + pub enum Request { + PublishUnitTestResults(PublishUnitTestResults), + PublishVmmTestResultsLocal(PublishVmmTestResultsLocal), + PublishVmmTestResultsCi(PublishVmmTestResultsCi), } } @@ -70,14 +83,63 @@ impl FlowNode for Node { let mut use_side_effects = Vec::new(); let mut resolve_side_effects = Vec::new(); - for Request { - junit_xml, - test_label: label, - attachments, - output_dirs, - done, - } in requests - { + for req in requests { + let ( + junit_xml, + label, + attachments, + junit_xml_output_dir, + nextest_list_json_output_dir, + test_results_full_output_dir, + done, + ) = match req { + Request::PublishUnitTestResults(PublishUnitTestResults { + junit_xml, + test_label, + output_dir, + done, + }) => ( + junit_xml, + test_label, + BTreeMap::new(), + None, + None, + output_dir, + done, + ), + Request::PublishVmmTestResultsLocal(PublishVmmTestResultsLocal { + junit_xml, + test_label, + output_dir, + done, + }) => ( + junit_xml, + test_label, + BTreeMap::new(), + None, + None, + output_dir, + done, + ), + Request::PublishVmmTestResultsCi(PublishVmmTestResultsCi { + junit_xml, + test_label, + attachments, + junit_xml_output_dir, + nextest_list_json_output_dir, + test_results_full_output_dir, + done, + }) => ( + junit_xml, + test_label, + attachments, + Some(junit_xml_output_dir), + Some(nextest_list_json_output_dir), + Some(test_results_full_output_dir), + done, + ), + }; + resolve_side_effects.push(done); let step_name = format!("copy test results to artifact directory: {label} (JUnit XML)"); @@ -105,7 +167,7 @@ impl FlowNode for Node { FlowBackend::Github | FlowBackend::Local => { // Copy the junit XML into the "light" results directory if one // was provided. This covers both GitHub and local runs. - if let Some(junit_xml_dst) = output_dirs.junit_xml { + if let Some(junit_xml_dst) = junit_xml_output_dir { use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { let output_dir = junit_xml_dst.claim(ctx); let has_junit_xml = has_junit_xml.claim(ctx); @@ -167,8 +229,8 @@ impl FlowNode for Node { // Decide which output directory to use based on the attachment kind. let maybe_output_dir = match &attachment_kind { - Attachments::Logs(_) => output_dirs.test_results_full.clone(), - Attachments::NextestListJson(_) => output_dirs.nextest_list_json.clone(), + Attachments::Logs(_) => test_results_full_output_dir.clone(), + Attachments::NextestListJson(_) => nextest_list_json_output_dir.clone(), }; if let Some(output_dir) = maybe_output_dir { diff --git a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs index ac1a10e35c..bec2e12afa 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs @@ -8,7 +8,6 @@ use crate::run_cargo_build::common::CommonProfile; use crate::run_cargo_nextest_run::NextestProfile; use flowey::node::prelude::*; use flowey_lib_common::run_cargo_nextest_run::build_params::PanicAbortTests; -use std::collections::BTreeMap; flowey_request! { pub struct Params { @@ -66,16 +65,15 @@ impl SimpleFlowNode for Node { let mut side_effects = Vec::new(); let junit_xml = results.map(ctx, |r| r.junit_xml); - let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { - junit_xml, - test_label: junit_test_label, - attachments: BTreeMap::new(), - output_dirs: flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { - junit_xml: None, - nextest_list_json: None, - test_results_full: artifact_dir, - }, - done: v, + let reported_results = ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishUnitTestResults( + flowey_lib_common::publish_test_results::PublishUnitTestResults { + junit_xml, + test_label: junit_test_label, + output_dir: artifact_dir, + done: v, + }, + ) }); side_effects.push(reported_results); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs index e2a75dd83b..5d1bb5e0c3 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs @@ -6,7 +6,6 @@ use crate::build_nextest_unit_tests::NextestUnitTestArchive; use crate::run_cargo_nextest_run::NextestProfile; use flowey::node::prelude::*; -use std::collections::BTreeMap; flowey_request! { pub struct Params { @@ -56,16 +55,15 @@ impl SimpleFlowNode for Node { let mut side_effects = Vec::new(); let junit_xml = results.map(ctx, |r| r.junit_xml); - let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { - junit_xml, - test_label: junit_test_label, - attachments: BTreeMap::new(), - output_dirs: flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { - junit_xml: None, - nextest_list_json: None, - test_results_full: artifact_dir, - }, - done: v, + let reported_results = ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishUnitTestResults( + flowey_lib_common::publish_test_results::PublishUnitTestResults { + junit_xml, + test_label: junit_test_label, + output_dir: artifact_dir, + done: v, + }, + ) }); side_effects.push(reported_results); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index e1d9b06477..53631fea12 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -14,7 +14,6 @@ use crate::build_vmgstool::VmgstoolOutput; use crate::install_vmm_tests_deps::VmmTestsDepSelections; use crate::run_cargo_nextest_run::NextestProfile; use flowey::node::prelude::*; -use flowey_lib_common::publish_test_results::VmmTestResultsArtifacts; use std::collections::BTreeMap; use vmm_test_images::KnownTestArtifacts; @@ -53,8 +52,12 @@ flowey_request! { /// Whether the job should fail if any test has failed pub fail_job_on_test_fail: bool, - /// Artifacts corresponding to test results - pub artifact_dirs: VmmTestResultsArtifacts, + /// Copy the junit xml file to the provided directory. + pub junit_xml_output_dir: ReadVar, + /// Copy the nextest-list.json to the provided directory. + pub nextest_list_json_output_dir: ReadVar, + /// Copy full test results (all logs, dumps, etc) to the provided directory. + pub test_results_full_output_dir: ReadVar, pub done: WriteVar, } } @@ -89,7 +92,9 @@ impl SimpleFlowNode for Node { test_artifacts, fail_job_on_test_fail, needs_prep_run, - artifact_dirs, + junit_xml_output_dir, + nextest_list_json_output_dir, + test_results_full_output_dir, done, } = request; @@ -223,29 +228,37 @@ impl SimpleFlowNode for Node { output_file: v, }); - let reported_results = ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { - junit_xml, - test_label: junit_test_label, - attachments: BTreeMap::from([ - ( - "logs".to_string(), - ( - flowey_lib_common::publish_test_results::Attachments::Logs(test_log_path), - false, - ), - ), - ( - "nextest-list".to_string(), - ( - flowey_lib_common::publish_test_results::Attachments::NextestListJson( - nextest_list_json, + let reported_results = ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishVmmTestResultsCi( + flowey_lib_common::publish_test_results::PublishVmmTestResultsCi { + junit_xml, + test_label: junit_test_label, + attachments: BTreeMap::from([ + ( + "logs".to_string(), + ( + flowey_lib_common::publish_test_results::Attachments::Logs( + test_log_path, + ), + false, + ), ), - false, - ), - ), - ]), - output_dirs: artifact_dirs, - done: v, + ( + "nextest-list".to_string(), + ( + flowey_lib_common::publish_test_results::Attachments::NextestListJson( + nextest_list_json, + ), + false, + ), + ), + ]), + junit_xml_output_dir, + nextest_list_json_output_dir, + test_results_full_output_dir, + done: v, + }, + ) }); ctx.emit_rust_step("report test results to overall pipeline status", |ctx| { 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 303b919325..b1eb4c6320 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 @@ -17,7 +17,6 @@ use crate::run_cargo_build::common::CommonTriple; use flowey::node::prelude::*; use flowey_lib_common::gen_cargo_nextest_run_cmd::CommandShell; use flowey_lib_common::gen_cargo_nextest_run_cmd::RunKindDeps; -use std::collections::BTreeMap; use std::str::FromStr; use vmm_test_images::KnownTestArtifacts; @@ -929,18 +928,16 @@ impl SimpleFlowNode for Node { }); let junit_xml = results.map(ctx, |r| r.junit_xml); - let published_results = - ctx.reqv(|v| flowey_lib_common::publish_test_results::Request { - junit_xml, - test_label, - attachments: BTreeMap::new(), // the logs are already there - output_dirs: flowey_lib_common::publish_test_results::VmmTestResultsArtifacts { - junit_xml: None, - nextest_list_json: None, - test_results_full: Some(ReadVar::from_static(test_content_dir)), + let published_results = ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishVmmTestResultsLocal( + flowey_lib_common::publish_test_results::PublishVmmTestResultsLocal { + junit_xml, + test_label, + output_dir: Some(ReadVar::from_static(test_content_dir)), + done: v, }, - done: v, - }); + ) + }); ctx.emit_rust_step("report test results", |ctx| { published_results.claim(ctx); From de175cbb7c595c25eb42fc108229d02da160c52e Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 13 Oct 2025 13:02:21 -0700 Subject: [PATCH 25/37] Trim unnecessary optionals --- .github/workflows/openvmm-ci.yaml | 880 ++++++++--------- .github/workflows/openvmm-pr-release.yaml | 880 ++++++++--------- .github/workflows/openvmm-pr.yaml | 922 +++++++++--------- .../src/publish_test_results.rs | 310 +++--- .../src/run_cargo_nextest_list.rs | 13 +- .../_jobs/build_and_run_nextest_unit_tests.rs | 4 +- ...ume_and_test_nextest_unit_tests_archive.rs | 94 -- ...sume_and_test_nextest_vmm_tests_archive.rs | 68 +- .../local_build_and_run_nextest_vmm_tests.rs | 4 +- flowey/flowey_lib_hvlite/src/_jobs/mod.rs | 1 - .../src/run_cargo_nextest_list.rs | 4 +- 11 files changed, 1497 insertions(+), 1683 deletions(-) delete mode 100644 flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 8716c2e26d..57087e76a5 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1462,57 +1462,8 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 - shell: bash - - id: flowey_lib_common__cache__9 - uses: actions/cache@v4 - with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 14 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-7/flowey - - echo '"debug"' | flowey v 19 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 19 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 19 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results" | flowey v 19 'artifact_publish_from_x64-linux-vmm-tests-results' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-junit-xml" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 19 'artifact_publish_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 19 'artifact_publish_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 19 'artifact_use_from_x64-linux-openvmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 19 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 19 'artifact_use_from_x64-tmks' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update - shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey e 19 flowey_lib_common::download_cargo_nextest 0 - flowey e 19 flowey_lib_common::download_cargo_nextest 1 - flowey e 19 flowey_lib_common::download_cargo_nextest 2 - flowey e 19 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey e 19 flowey_lib_common::cache 8 - flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 - shell: bash - - id: flowey_lib_common__cache__9 - uses: actions/cache@v4 - with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey v 19 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <, } -pub type PublishVmmTestResultsLocal = PublishUnitTestResults; - #[derive(Serialize, Deserialize)] -pub struct PublishVmmTestResultsCi { - pub junit_xml: ReadVar>, - /// Brief string used when publishing the test. - /// Must be unique to the pipeline. +pub struct PublishTestLogs { pub test_label: String, /// Additional files or directories to upload. /// @@ -52,21 +47,26 @@ pub struct PublishVmmTestResultsCi { /// these attachments will not be uploaded as distinct artifacts and /// will instead be uploaded via the JUnit integration. pub attachments: BTreeMap, - /// Copy the junit xml file to the provided directory. - pub junit_xml_output_dir: ReadVar, - /// Copy the nextest-list.json to the provided directory. - pub nextest_list_json_output_dir: ReadVar, - /// Copy full test results (all logs, dumps, etc) to the provided directory. - pub test_results_full_output_dir: ReadVar, + pub output_dir: ReadVar, + /// Side-effect confirming that the publish has succeeded + pub done: WriteVar, +} + +#[derive(Serialize, Deserialize)] +pub struct PublishNextestListJson { + /// Path to a nextest-list.json file + pub nextest_list_json: ReadVar, + pub test_label: String, + pub output_dir: ReadVar, /// Side-effect confirming that the publish has succeeded pub done: WriteVar, } flowey_request! { pub enum Request { - PublishUnitTestResults(PublishUnitTestResults), - PublishVmmTestResultsLocal(PublishVmmTestResultsLocal), - PublishVmmTestResultsCi(PublishVmmTestResultsCi), + PublishJunitXml(PublishJunitXml), + PublishTestLogs(PublishTestLogs), + PublishNextestListJson(PublishNextestListJson), } } @@ -84,187 +84,161 @@ impl FlowNode for Node { let mut resolve_side_effects = Vec::new(); for req in requests { - let ( - junit_xml, - label, - attachments, - junit_xml_output_dir, - nextest_list_json_output_dir, - test_results_full_output_dir, - done, - ) = match req { - Request::PublishUnitTestResults(PublishUnitTestResults { - junit_xml, - test_label, - output_dir, - done, - }) => ( - junit_xml, - test_label, - BTreeMap::new(), - None, - None, - output_dir, - done, - ), - Request::PublishVmmTestResultsLocal(PublishVmmTestResultsLocal { + match req { + Request::PublishJunitXml(PublishJunitXml { junit_xml, - test_label, + test_label: label, output_dir, done, - }) => ( - junit_xml, - test_label, - BTreeMap::new(), - None, - None, - output_dir, - done, - ), - Request::PublishVmmTestResultsCi(PublishVmmTestResultsCi { - junit_xml, - test_label, - attachments, - junit_xml_output_dir, - nextest_list_json_output_dir, - test_results_full_output_dir, - done, - }) => ( - junit_xml, - test_label, + }) => { + resolve_side_effects.push(done); + + let step_name = + format!("copy test results to artifact directory: {label} (JUnit XML)"); + let artifact_name = format!("{label}-junit-xml"); + + let has_junit_xml = junit_xml.map(ctx, |p| p.is_some()); + let junit_xml = junit_xml.map(ctx, |p| p.unwrap_or_default()); + + match ctx.backend() { + FlowBackend::Ado => { + use_side_effects.push(ctx.reqv(|v| { + crate::ado_task_publish_test_results::Request { + step_name, + format: crate::ado_task_publish_test_results::AdoTestResultsFormat::JUnit, + results_file: junit_xml, + test_title: label.clone(), + condition: Some(has_junit_xml), + done: v, + } + })); + } + FlowBackend::Github | FlowBackend::Local => { + if let Some(junit_xml_dst) = output_dir { + use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { + let output_dir = junit_xml_dst.claim(ctx); + let has_junit_xml = has_junit_xml.claim(ctx); + let junit_xml = junit_xml.claim(ctx); + + move |rt| { + let output_dir = rt.read(output_dir); + let has_junit_xml = rt.read(has_junit_xml); + let junit_xml = rt.read(junit_xml); + + if has_junit_xml { + fs_err::copy( + junit_xml, + output_dir.join(format!("{artifact_name}.xml")), + )?; + } + + Ok(()) + } + })); + } else { + use_side_effects.push(has_junit_xml.into_side_effect()); + use_side_effects.push(junit_xml.into_side_effect()); + } + } + } + } + Request::PublishTestLogs(PublishTestLogs { + test_label: label, attachments, - Some(junit_xml_output_dir), - Some(nextest_list_json_output_dir), - Some(test_results_full_output_dir), + output_dir, done, - ), - }; - - resolve_side_effects.push(done); - - let step_name = format!("copy test results to artifact directory: {label} (JUnit XML)"); - let artifact_name = format!("{label}-junit-xml"); - - let has_junit_xml = junit_xml.map(ctx, |p| p.is_some()); - let junit_xml = junit_xml.map(ctx, |p| p.unwrap_or_default()); - - match ctx.backend() { - // Since ADO supports native JUnit test result publishing, - // we don't need to copy the XML file to an artifact directory. - FlowBackend::Ado => { - use_side_effects.push(ctx.reqv(|v| { - crate::ado_task_publish_test_results::Request { - step_name, - format: - crate::ado_task_publish_test_results::AdoTestResultsFormat::JUnit, - results_file: junit_xml, - test_title: label.clone(), - condition: Some(has_junit_xml), - done: v, + }) => { + resolve_side_effects.push(done); + + for (attachment_label, (attachment_kind, publish_on_ado)) in attachments { + let step_name = format!( + "copy attachments to artifacts directory: {label} ({attachment_label})" + ); + let mut artifact_name = format!("{label}-{attachment_label}"); + let attachment_path_opt = match &attachment_kind { + Attachments::Logs(p) => p.clone().map(ctx, Some), + Attachments::NextestListJson(p) => { + artifact_name += ".json"; + p.clone() + } + }; + + let attachment_exists = attachment_path_opt.map(ctx, |opt| { + opt.as_ref() + .map(|p| { + p.exists() + && (p.is_file() + || p.read_dir() + .expect("failed to read attachment dir") + .next() + .is_some()) + }) + .unwrap_or(false) + }); + + if matches!(ctx.backend(), FlowBackend::Ado) && !publish_on_ado { + use_side_effects.push(attachment_exists.into_side_effect()); + use_side_effects.push(attachment_path_opt.into_side_effect()); + continue; } - })); - } - FlowBackend::Github | FlowBackend::Local => { - // Copy the junit XML into the "light" results directory if one - // was provided. This covers both GitHub and local runs. - if let Some(junit_xml_dst) = junit_xml_output_dir { + + let output_dir_clone = output_dir.clone(); use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { - let output_dir = junit_xml_dst.claim(ctx); - let has_junit_xml = has_junit_xml.claim(ctx); - let junit_xml = junit_xml.claim(ctx); + let output_dir = output_dir_clone.claim(ctx); + let attachment_exists = attachment_exists.claim(ctx); + let attachment_path_opt = attachment_path_opt.claim(ctx); move |rt| { let output_dir = rt.read(output_dir); - let has_junit_xml = rt.read(has_junit_xml); - let junit_xml = rt.read(junit_xml); - - if has_junit_xml { - fs_err::copy( - junit_xml, - output_dir.join(format!("{artifact_name}.xml")), - )?; + let attachment_exists = rt.read(attachment_exists); + let attachment_path_opt = rt.read(attachment_path_opt); + + if attachment_exists { + if let Some(attachment_path) = attachment_path_opt { + if attachment_path.is_dir() { + copy_dir_all( + attachment_path, + output_dir.join(artifact_name), + )?; + } else { + fs_err::copy( + attachment_path, + output_dir.join(artifact_name), + )?; + } + } } Ok(()) } })); - } else { - use_side_effects.push(has_junit_xml.into_side_effect()); - use_side_effects.push(junit_xml.into_side_effect()); - } - } - } - - for (attachment_label, (attachment_kind, publish_on_ado)) in attachments { - let step_name = format!( - "copy attachments to artifacts directory: {label} ({attachment_label})" - ); - let mut artifact_name = format!("{label}-{attachment_label}"); - let attachment_path_opt = match &attachment_kind { - Attachments::Logs(p) => p.clone().map(ctx, Some), - Attachments::NextestListJson(p) => { - artifact_name += ".json"; - p.clone() } - }; - - let attachment_exists = attachment_path_opt.map(ctx, |opt| { - opt.as_ref() - .map(|p| { - p.exists() - && (p.is_file() - || p.read_dir() - .expect("failed to read attachment dir") - .next() - .is_some()) - }) - .unwrap_or(false) - }); - - if matches!(ctx.backend(), FlowBackend::Ado) && !publish_on_ado { - use_side_effects.push(attachment_exists.into_side_effect()); - use_side_effects.push(attachment_path_opt.into_side_effect()); - continue; } + Request::PublishNextestListJson(PublishNextestListJson { + nextest_list_json, + test_label: label, + output_dir, + done, + }) => { + resolve_side_effects.push(done); - // Decide which output directory to use based on the attachment kind. - let maybe_output_dir = match &attachment_kind { - Attachments::Logs(_) => test_results_full_output_dir.clone(), - Attachments::NextestListJson(_) => nextest_list_json_output_dir.clone(), - }; + let step_name = + format!("copy nextest-list.json to artifact directory: {label}"); + let artifact_name = format!("{label}-nextest-list.json"); - if let Some(output_dir) = maybe_output_dir { use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { let output_dir = output_dir.claim(ctx); - let attachment_exists = attachment_exists.claim(ctx); - let attachment_path_opt = attachment_path_opt.claim(ctx); + let nextest_list_json = nextest_list_json.claim(ctx); move |rt| { let output_dir = rt.read(output_dir); - let attachment_exists = rt.read(attachment_exists); - let attachment_path_opt = rt.read(attachment_path_opt); + let nextest_list_json = rt.read(nextest_list_json); - if attachment_exists { - if let Some(attachment_path) = attachment_path_opt { - if attachment_path.is_dir() { - copy_dir_all( - attachment_path, - output_dir.join(artifact_name), - )?; - } else { - fs_err::copy( - attachment_path, - output_dir.join(artifact_name), - )?; - } - } - } + fs_err::copy(nextest_list_json, output_dir.join(artifact_name))?; Ok(()) } })); - } else { - use_side_effects.push(attachment_exists.into_side_effect()); } } } diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs index 0995037779..754fa764fd 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs @@ -27,11 +27,11 @@ flowey_request! { /// Additional env vars set when executing the tests. pub extra_env: Option>>, /// Output directory for the nextest list output file - pub output_dir: ReadVar>, + pub output_dir: ReadVar, /// Wait for specified side-effects to resolve pub pre_run_deps: Vec>, /// Final path to nextest list output file - pub output_file: WriteVar>, + pub output_file: WriteVar, } } @@ -90,11 +90,6 @@ impl SimpleFlowNode for Node { let cmd = rt.read(cmd); let output_dir = rt.read(output_dir); - if output_dir.is_none() { - rt.write(output_file, &None); - return Ok(()); - } - let (status, stdout) = run_command(&cmd, &working_dir, /* capture_stdout: */ true)?; @@ -111,12 +106,12 @@ impl SimpleFlowNode for Node { let json_value = get_nextest_list_output_from_stdout(stdout)?; - let final_path = output_dir.unwrap().join("nextest_list_output.json"); + let final_path = output_dir.join("nextest_list_output.json"); let mut file = fs_err::File::create(&final_path)?; file.write_all(serde_json::to_string_pretty(&json_value)?.as_bytes())?; file.flush()?; - rt.write(output_file, &Some(final_path.to_path_buf())); + rt.write(output_file, &final_path.to_path_buf()); Ok(()) } diff --git a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs index bec2e12afa..7467892fcb 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs @@ -66,8 +66,8 @@ impl SimpleFlowNode for Node { let junit_xml = results.map(ctx, |r| r.junit_xml); let reported_results = ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishUnitTestResults( - flowey_lib_common::publish_test_results::PublishUnitTestResults { + flowey_lib_common::publish_test_results::Request::PublishJunitXml( + flowey_lib_common::publish_test_results::PublishJunitXml { junit_xml, test_label: junit_test_label, output_dir: artifact_dir, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs deleted file mode 100644 index 5d1bb5e0c3..0000000000 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_unit_tests_archive.rs +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -//! Run a pre-built cargo-nextest based unit test archive. - -use crate::build_nextest_unit_tests::NextestUnitTestArchive; -use crate::run_cargo_nextest_run::NextestProfile; -use flowey::node::prelude::*; - -flowey_request! { - pub struct Params { - /// Friendly label for report JUnit test results - pub junit_test_label: String, - /// Existing unit test archive - pub nextest_unit_test_archive: ReadVar, - /// Nextest profile to use when running the source code - pub nextest_profile: NextestProfile, - - /// Whether the job should fail if any test has failed - pub fail_job_on_test_fail: bool, - /// (optionally) Also publish raw junit.xml test results as an artifact. - pub artifact_dir: Option>, - pub done: WriteVar, - } -} - -new_simple_flow_node!(struct Node); - -impl SimpleFlowNode for Node { - type Request = Params; - - fn imports(ctx: &mut ImportCtx<'_>) { - ctx.import::(); - ctx.import::(); - } - - fn process_request(request: Self::Request, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { - let Params { - junit_test_label, - nextest_unit_test_archive, - nextest_profile, - fail_job_on_test_fail, - artifact_dir, - done, - } = request; - - let results = ctx.reqv(|v| crate::test_nextest_unit_tests_archive::Request { - nextest_archive_file: nextest_unit_test_archive, - nextest_profile, - nextest_bin: None, - target: None, - results: v, - }); - - let mut side_effects = Vec::new(); - - let junit_xml = results.map(ctx, |r| r.junit_xml); - let reported_results = ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishUnitTestResults( - flowey_lib_common::publish_test_results::PublishUnitTestResults { - junit_xml, - test_label: junit_test_label, - output_dir: artifact_dir, - done: v, - }, - ) - }); - - side_effects.push(reported_results); - - ctx.emit_rust_step("report test results to overall pipeline status", |ctx| { - side_effects.claim(ctx); - done.claim(ctx); - - let results = results.clone().claim(ctx); - move |rt| { - let results = rt.read(results); - if results.all_tests_passed { - log::info!("all tests passed!"); - } else { - if fail_job_on_test_fail { - anyhow::bail!("encountered test failures.") - } else { - log::error!("encountered test failures.") - } - } - - Ok(()) - } - }); - - Ok(()) - } -} diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index 53631fea12..039c9d4657 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -212,7 +212,6 @@ impl SimpleFlowNode for Node { let test_log_path = test_log_path.depending_on(ctx, &results); let junit_xml = results.map(ctx, |r| r.junit_xml); - let output_dir = junit_xml.map(ctx, |p| p.map(|p| p.parent().unwrap().to_path_buf())); let archive_file = nextest_vmm_tests_archive.map(ctx, |x| x.archive_file); let nextest_list_json = ctx.reqv(|v| crate::run_cargo_nextest_list::Request { archive_file, @@ -223,46 +222,59 @@ impl SimpleFlowNode for Node { nextest_profile: nextest_profile.as_str().to_owned(), nextest_filter_expr: nextest_filter_expr.clone(), extra_env: Some(extra_env), - output_dir, + output_dir: test_log_path.clone(), pre_run_deps: vec![], output_file: v, }); - let reported_results = ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishVmmTestResultsCi( - flowey_lib_common::publish_test_results::PublishVmmTestResultsCi { + let mut side_effects = Vec::new(); + + // Publish JUnit XML + side_effects.push(ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishJunitXml( + flowey_lib_common::publish_test_results::PublishJunitXml { junit_xml, - test_label: junit_test_label, - attachments: BTreeMap::from([ - ( - "logs".to_string(), - ( - flowey_lib_common::publish_test_results::Attachments::Logs( - test_log_path, - ), - false, - ), - ), + test_label: junit_test_label.clone(), + output_dir: Some(junit_xml_output_dir), + done: v, + }, + ) + })); + + // Publish test logs + side_effects.push(ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishTestLogs( + flowey_lib_common::publish_test_results::PublishTestLogs { + test_label: junit_test_label.clone(), + attachments: BTreeMap::from([( + "logs".to_string(), ( - "nextest-list".to_string(), - ( - flowey_lib_common::publish_test_results::Attachments::NextestListJson( - nextest_list_json, - ), - false, + flowey_lib_common::publish_test_results::Attachments::Logs( + test_log_path, ), + false, ), - ]), - junit_xml_output_dir, - nextest_list_json_output_dir, - test_results_full_output_dir, + )]), + output_dir: test_results_full_output_dir, done: v, }, ) - }); + })); + + // Publish nextest-list.json + side_effects.push(ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishNextestListJson( + flowey_lib_common::publish_test_results::PublishNextestListJson { + nextest_list_json, + test_label: junit_test_label, + output_dir: nextest_list_json_output_dir, + done: v, + }, + ) + })); ctx.emit_rust_step("report test results to overall pipeline status", |ctx| { - reported_results.claim(ctx); + side_effects.claim(ctx); done.claim(ctx); let results = results.clone().claim(ctx); 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 b1eb4c6320..cebfd9ef87 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 @@ -929,8 +929,8 @@ impl SimpleFlowNode for Node { let junit_xml = results.map(ctx, |r| r.junit_xml); let published_results = ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishVmmTestResultsLocal( - flowey_lib_common::publish_test_results::PublishVmmTestResultsLocal { + flowey_lib_common::publish_test_results::Request::PublishJunitXml( + flowey_lib_common::publish_test_results::PublishJunitXml { junit_xml, test_label, output_dir: Some(ReadVar::from_static(test_content_dir)), diff --git a/flowey/flowey_lib_hvlite/src/_jobs/mod.rs b/flowey/flowey_lib_hvlite/src/_jobs/mod.rs index 6e54dea3e4..9d7bde670c 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/mod.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/mod.rs @@ -17,7 +17,6 @@ pub mod check_clippy; pub mod check_openvmm_hcl_size; pub mod check_xtask_fmt; pub mod consolidate_and_publish_gh_pages; -pub mod consume_and_test_nextest_unit_tests_archive; pub mod consume_and_test_nextest_vmm_tests_archive; pub mod local_build_and_run_nextest_vmm_tests; pub mod local_build_igvm; diff --git a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs index ad25d598b6..01b4dd894a 100644 --- a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs +++ b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs @@ -24,11 +24,11 @@ flowey_request! { /// Additional env vars set when executing the tests. pub extra_env: Option>>, /// Output directory for the nextest list output file - pub output_dir: ReadVar>, + pub output_dir: ReadVar, /// Wait for specified side-effects to resolve pub pre_run_deps: Vec>, /// Final path to nextest list output file - pub output_file: WriteVar>, + pub output_file: WriteVar, } } From 4b8f4155f1b8cca22406ae55b5df6307ba6b6ece Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Wed, 15 Oct 2025 09:48:01 -0700 Subject: [PATCH 26/37] Feedback --- .github/workflows/openvmm-ci.yaml | 354 ++++++++++-------- .github/workflows/openvmm-pr-release.yaml | 354 ++++++++++-------- .github/workflows/openvmm-pr.yaml | 354 ++++++++++-------- Cargo.lock | 2 +- .../src/pipeline_resolver/ado_yaml.rs | 15 +- .../src/pipeline_resolver/direct_run.rs | 10 +- .../src/pipeline_resolver/generic.rs | 17 +- .../src/pipeline_resolver/github_yaml/mod.rs | 12 +- .../src/publish_test_results.rs | 233 ++++++------ .../src/run_cargo_nextest_list.rs | 2 +- .../_jobs/build_and_run_nextest_unit_tests.rs | 9 +- ...sume_and_test_nextest_vmm_tests_archive.rs | 50 +-- .../local_build_and_run_nextest_vmm_tests.rs | 9 +- .../src/run_cargo_nextest_list.rs | 2 +- 14 files changed, 757 insertions(+), 666 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 57087e76a5..fd942f9015 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1483,14 +1483,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1514,14 +1514,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 12 - flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1552,14 +1552,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 16 - flowey.exe v 14 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 14 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 14 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 14 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1588,14 +1588,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1608,7 +1608,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1616,7 +1616,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1644,16 +1644,21 @@ jobs: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 14 flowey_lib_common::publish_test_results 4 flowey.exe e 14 flowey_lib_common::publish_test_results 5 + flowey.exe v 14 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-intel-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' run: |- - flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' - run: |- flowey.exe e 14 flowey_lib_common::publish_test_results 2 flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 @@ -1662,14 +1667,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1811,14 +1816,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1842,14 +1847,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1880,14 +1885,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 16 - flowey.exe v 15 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 15 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 15 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 15 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1916,14 +1921,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1936,7 +1941,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1944,7 +1949,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1977,16 +1982,21 @@ jobs: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 15 flowey_lib_common::publish_test_results 4 flowey.exe e 15 flowey_lib_common::publish_test_results 5 + flowey.exe v 15 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: |- - flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 15 flowey_lib_common::publish_test_results 0 flowey.exe e 15 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 @@ -1995,14 +2005,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2142,14 +2152,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2173,14 +2183,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2211,14 +2221,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 16 - flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2247,14 +2257,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2267,7 +2277,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2275,7 +2285,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2303,16 +2313,21 @@ jobs: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe e 16 flowey_lib_common::publish_test_results 5 + flowey.exe v 16 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-amd-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' run: |- - flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 16 flowey_lib_common::publish_test_results 0 flowey.exe e 16 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' - run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 @@ -2321,14 +2336,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2470,14 +2485,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2501,14 +2516,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2539,14 +2554,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 16 - flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2575,14 +2590,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2595,7 +2610,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2603,7 +2618,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2636,16 +2651,21 @@ jobs: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 17 flowey_lib_common::publish_test_results 4 flowey.exe e 17 flowey_lib_common::publish_test_results 5 + flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: |- - flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' - run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 2 @@ -2654,14 +2674,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2792,14 +2812,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 0 - flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2829,14 +2849,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 12 - flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2867,14 +2887,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 16 - flowey v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2906,14 +2926,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 4 - flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2926,7 +2946,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 18 flowey_lib_common::git_checkout 0 - flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2934,7 +2954,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2962,16 +2982,21 @@ jobs: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 18 flowey_lib_common::publish_test_results 4 flowey e 18 flowey_lib_common::publish_test_results 5 + flowey v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-linux-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' run: |- - flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' - run: |- flowey e 18 flowey_lib_common::publish_test_results 2 flowey e 18 flowey_lib_common::download_cargo_nextest 1 flowey e 18 flowey_lib_common::download_cargo_nextest 2 @@ -2980,14 +3005,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 8 - flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3176,14 +3201,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3207,14 +3232,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3245,14 +3270,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 16 - flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3281,14 +3306,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3301,7 +3326,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3309,7 +3334,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3337,16 +3362,21 @@ jobs: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 19 flowey_lib_common::publish_test_results 4 flowey.exe e 19 flowey_lib_common::publish_test_results 5 + flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 19 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: aarch64-windows-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' run: |- - flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' - run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 @@ -3355,14 +3385,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index d0cc340e3d..2cdfd74ec5 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -1492,14 +1492,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 0 - flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1523,14 +1523,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 12 - flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1561,14 +1561,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 16 - flowey.exe v 14 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 14 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 14 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 14 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1597,14 +1597,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1617,7 +1617,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 14 flowey_lib_common::git_checkout 0 - flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1625,7 +1625,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1653,16 +1653,21 @@ jobs: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 14 flowey_lib_common::publish_test_results 4 flowey.exe e 14 flowey_lib_common::publish_test_results 5 + flowey.exe v 14 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 14 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-intel-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' run: |- - flowey.exe e 14 flowey_lib_common::publish_test_results 6 flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 14 flowey_lib_common::publish_test_results 0 flowey.exe e 14 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' - run: |- flowey.exe e 14 flowey_lib_common::publish_test_results 2 flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 @@ -1671,14 +1676,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 14 flowey_lib_common::cache 8 - flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1820,14 +1825,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1851,14 +1856,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1889,14 +1894,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 16 - flowey.exe v 15 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 15 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 15 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 15 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1925,14 +1930,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1945,7 +1950,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1953,7 +1958,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1986,16 +1991,21 @@ jobs: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 15 flowey_lib_common::publish_test_results 4 flowey.exe e 15 flowey_lib_common::publish_test_results 5 + flowey.exe v 15 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: |- - flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 15 flowey_lib_common::publish_test_results 0 flowey.exe e 15 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 @@ -2004,14 +2014,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2151,14 +2161,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2182,14 +2192,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2220,14 +2230,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 16 - flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2256,14 +2266,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2276,7 +2286,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2284,7 +2294,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2312,16 +2322,21 @@ jobs: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe e 16 flowey_lib_common::publish_test_results 5 + flowey.exe v 16 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-amd-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' run: |- - flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 16 flowey_lib_common::publish_test_results 0 flowey.exe e 16 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' - run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 @@ -2330,14 +2345,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2479,14 +2494,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2510,14 +2525,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2548,14 +2563,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 16 - flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2584,14 +2599,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2604,7 +2619,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2612,7 +2627,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2645,16 +2660,21 @@ jobs: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 17 flowey_lib_common::publish_test_results 4 flowey.exe e 17 flowey_lib_common::publish_test_results 5 + flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: |- - flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' - run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 2 @@ -2663,14 +2683,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2801,14 +2821,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 0 - flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -2838,14 +2858,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 12 - flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2876,14 +2896,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 16 - flowey v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2915,14 +2935,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 4 - flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2935,7 +2955,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 18 flowey_lib_common::git_checkout 0 - flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2943,7 +2963,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2971,16 +2991,21 @@ jobs: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 18 flowey_lib_common::publish_test_results 4 flowey e 18 flowey_lib_common::publish_test_results 5 + flowey v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-linux-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' run: |- - flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' - run: |- flowey e 18 flowey_lib_common::publish_test_results 2 flowey e 18 flowey_lib_common::download_cargo_nextest 1 flowey e 18 flowey_lib_common::download_cargo_nextest 2 @@ -2989,14 +3014,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 18 flowey_lib_common::cache 8 - flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3185,14 +3210,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3216,14 +3241,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3254,14 +3279,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 16 - flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3290,14 +3315,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3310,7 +3335,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3318,7 +3343,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3346,16 +3371,21 @@ jobs: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 19 flowey_lib_common::publish_test_results 4 flowey.exe e 19 flowey_lib_common::publish_test_results 5 + flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 19 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: aarch64-windows-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' run: |- - flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' - run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 @@ -3364,14 +3394,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 91af338b19..114613c8ae 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -1732,14 +1732,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 0 - flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1763,14 +1763,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 12 - flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1801,14 +1801,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 16 - flowey.exe v 15 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 15 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 15 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 15 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1837,14 +1837,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 4 - flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1857,7 +1857,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 15 flowey_lib_common::git_checkout 0 - flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1865,7 +1865,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1893,16 +1893,21 @@ jobs: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 15 flowey_lib_common::publish_test_results 4 flowey.exe e 15 flowey_lib_common::publish_test_results 5 + flowey.exe v 15 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-intel-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-intel-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' run: |- - flowey.exe e 15 flowey_lib_common::publish_test_results 6 flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 15 flowey_lib_common::publish_test_results 0 flowey.exe e 15 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' - run: |- flowey.exe e 15 flowey_lib_common::publish_test_results 2 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 @@ -1911,14 +1916,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 15 flowey_lib_common::cache 8 - flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2060,14 +2065,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2091,14 +2096,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2129,14 +2134,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 16 - flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2165,14 +2170,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2185,7 +2190,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2193,7 +2198,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2226,16 +2231,21 @@ jobs: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe e 16 flowey_lib_common::publish_test_results 5 + flowey.exe v 16 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-intel-tdx-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-intel-tdx-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' run: |- - flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 16 flowey_lib_common::publish_test_results 0 flowey.exe e 16 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' - run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 @@ -2244,14 +2254,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2391,14 +2401,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2422,14 +2432,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2460,14 +2470,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 16 - flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2496,14 +2506,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2516,7 +2526,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2524,7 +2534,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2552,16 +2562,21 @@ jobs: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 17 flowey_lib_common::publish_test_results 4 flowey.exe e 17 flowey_lib_common::publish_test_results 5 + flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 17 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-amd-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-amd-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' run: |- - flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' - run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 2 @@ -2570,14 +2585,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2719,14 +2734,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 0 - flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2750,14 +2765,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 12 - flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2788,14 +2803,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 16 - flowey.exe v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2824,14 +2839,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 4 - flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2844,7 +2859,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 18 flowey_lib_common::git_checkout 0 - flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2852,7 +2867,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2885,16 +2900,21 @@ jobs: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 18 flowey_lib_common::publish_test_results 4 flowey.exe e 18 flowey_lib_common::publish_test_results 5 + flowey.exe v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 18 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-windows-amd-snp-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-windows-amd-snp-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' run: |- - flowey.exe e 18 flowey_lib_common::publish_test_results 6 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 18 flowey_lib_common::publish_test_results 0 flowey.exe e 18 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' - run: |- flowey.exe e 18 flowey_lib_common::publish_test_results 2 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 @@ -2903,14 +2923,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 8 - flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3041,14 +3061,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -3078,14 +3098,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 12 - flowey v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3116,14 +3136,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 16 - flowey v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3155,14 +3175,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 4 - flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3175,7 +3195,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 19 flowey_lib_common::git_checkout 0 - flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3183,7 +3203,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3211,16 +3231,21 @@ jobs: flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 19 flowey_lib_common::publish_test_results 4 flowey e 19 flowey_lib_common::publish_test_results 5 + flowey v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey v 19 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: x64-linux-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: x64-linux-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-linux-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' run: |- - flowey e 19 flowey_lib_common::publish_test_results 6 flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 19 flowey_lib_common::publish_test_results 0 flowey e 19 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' - run: |- flowey e 19 flowey_lib_common::publish_test_results 2 flowey e 19 flowey_lib_common::download_cargo_nextest 1 flowey e 19 flowey_lib_common::download_cargo_nextest 2 @@ -3229,14 +3254,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 19 flowey_lib_common::cache 8 - flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3638,14 +3663,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3669,14 +3694,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 12 - flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 + flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar9 }} + path: ${{ env.floweyvar10 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3707,14 +3732,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 16 - flowey.exe v 20 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 - flowey.exe v 20 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 20 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 + flowey.exe v 20 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar10 }} - path: ${{ env.floweyvar11 }} + key: ${{ env.floweyvar11 }} + path: ${{ env.floweyvar12 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3743,14 +3768,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 4 - flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3763,7 +3788,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 20 flowey_lib_common::git_checkout 0 - flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 + flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 flowey.exe v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3771,7 +3796,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3799,16 +3824,21 @@ jobs: flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 20 flowey_lib_common::publish_test_results 4 flowey.exe e 20 flowey_lib_common::publish_test_results 5 + flowey.exe v 20 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 + flowey.exe v 20 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - name: 'copy attachments to artifacts directory: aarch64-windows-vmm-tests (logs)' + - id: flowey_lib_common__publish_test_results__6 + uses: actions/upload-artifact@v4 + with: + name: aarch64-windows-vmm-tests-logs + path: ${{ env.floweyvar1 }} + name: 'publish test results: aarch64-windows-vmm-tests (logs)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' run: |- - flowey.exe e 20 flowey_lib_common::publish_test_results 6 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 20 flowey_lib_common::publish_test_results 0 flowey.exe e 20 flowey_lib_common::publish_test_results 1 - shell: bash - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' - run: |- flowey.exe e 20 flowey_lib_common::publish_test_results 2 flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 @@ -3817,14 +3847,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- diff --git a/Cargo.lock b/Cargo.lock index 97bd1e8a9a..42b7eb949d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1949,8 +1949,8 @@ dependencies = [ "fs-err", "igvmfilegen_config", "log", - "quick-xml", "powershell_builder", + "quick-xml", "serde", "serde_json", "target-lexicon", diff --git a/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs b/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs index 9e83cc6a70..64cafec9e8 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/ado_yaml.rs @@ -6,7 +6,6 @@ use super::common_yaml::FloweySource; use super::common_yaml::check_generated_yaml_and_json; use super::common_yaml::job_flowey_bootstrap_source; use super::common_yaml::write_generated_yaml_and_json; -use super::generic::ResolvedJobArtifact; use super::generic::ResolvedJobUseParameter; use crate::cli::exec_snippet::FloweyPipelineStaticDb; use crate::cli::exec_snippet::VAR_DB_SEEDVAR_FLOWEY_WORKING_DIR; @@ -16,6 +15,8 @@ use crate::flow_resolver::stage1_dag::OutputGraphEntry; use crate::flow_resolver::stage1_dag::Step; use crate::pipeline_resolver::generic::ResolvedPipeline; use crate::pipeline_resolver::generic::ResolvedPipelineJob; +use crate::pipeline_resolver::generic::ResolvedPublishedArtifact; +use crate::pipeline_resolver::generic::ResolvedUsedArtifact; use anyhow::Context; use flowey_core::node::FlowArch; use flowey_core::node::FlowBackend; @@ -190,10 +191,9 @@ pub fn ado_yaml( } // also download any artifacts that'll be used - for ResolvedJobArtifact { + for ResolvedUsedArtifact { flowey_var: _, name, - .. } in artifacts_used { ado_steps.push({ @@ -311,7 +311,7 @@ EOF // next, emit ado steps to create dirs for artifacts which will be // published - for ResolvedJobArtifact { + for ResolvedPublishedArtifact { flowey_var, name, .. } in artifacts_published { @@ -328,10 +328,7 @@ EOF // lastly, emit ado steps that report the dirs for any artifacts which // are used by this job - for ResolvedJobArtifact { - flowey_var, name, .. - } in artifacts_used - { + for ResolvedUsedArtifact { flowey_var, name } in artifacts_used { // do NOT use ADO macro syntax $(...), since this is in the same // bootstrap block as where those ADO vars get defined, meaning it's // not available yet! @@ -429,7 +426,7 @@ EOF // ..and once that's done, the last order of business is to emit some // ado steps to publish the various artifacts created by this job - for ResolvedJobArtifact { + for ResolvedPublishedArtifact { flowey_var: _, name, force_upload, diff --git a/flowey/flowey_cli/src/pipeline_resolver/direct_run.rs b/flowey/flowey_cli/src/pipeline_resolver/direct_run.rs index 426db669c1..5d8ccae2cc 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/direct_run.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/direct_run.rs @@ -4,10 +4,11 @@ use crate::cli::exec_snippet::VAR_DB_SEEDVAR_FLOWEY_PERSISTENT_STORAGE_DIR; use crate::flow_resolver::stage1_dag::OutputGraphEntry; use crate::flow_resolver::stage1_dag::Step; -use crate::pipeline_resolver::generic::ResolvedJobArtifact; use crate::pipeline_resolver::generic::ResolvedJobUseParameter; use crate::pipeline_resolver::generic::ResolvedPipeline; use crate::pipeline_resolver::generic::ResolvedPipelineJob; +use crate::pipeline_resolver::generic::ResolvedPublishedArtifact; +use crate::pipeline_resolver::generic::ResolvedUsedArtifact; use flowey_core::node::FlowArch; use flowey_core::node::FlowBackend; use flowey_core::node::FlowPlatform; @@ -275,7 +276,7 @@ fn direct_run_do_work( serde_json::to_string(&persist_dir).unwrap().into(), ); - for ResolvedJobArtifact { + for ResolvedPublishedArtifact { flowey_var, name, .. } in artifacts_published { @@ -294,10 +295,7 @@ fn direct_run_do_work( } fs_err::create_dir_all(out_dir.join(".job_artifacts"))?; - for ResolvedJobArtifact { - flowey_var, name, .. - } in artifacts_used - { + for ResolvedUsedArtifact { flowey_var, name } in artifacts_used { let path = out_dir.join(".job_artifacts").join(name); fs_err::create_dir_all(&path)?; copy_dir_all(out_dir.join("artifacts").join(name), &path)?; diff --git a/flowey/flowey_cli/src/pipeline_resolver/generic.rs b/flowey/flowey_cli/src/pipeline_resolver/generic.rs index e3651c9544..edc9af8f68 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/generic.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/generic.rs @@ -47,12 +47,18 @@ pub struct ResolvedPipeline { } #[derive(Debug, Clone)] -pub struct ResolvedJobArtifact { +pub struct ResolvedPublishedArtifact { pub flowey_var: String, pub name: String, pub force_upload: bool, } +#[derive(Debug, Clone)] +pub struct ResolvedUsedArtifact { + pub flowey_var: String, + pub name: String, +} + #[derive(Debug, Clone)] pub struct ResolvedJobUseParameter { pub flowey_var: String, @@ -77,9 +83,9 @@ pub struct ResolvedPipelineJob { pub parameters_used: Vec, // correspond to injected download nodes at the start of the job - pub artifacts_used: Vec, + pub artifacts_used: Vec, // correspond to injected publish nodes at the end of the job - pub artifacts_published: Vec, + pub artifacts_published: Vec, } pub fn resolve_pipeline(pipeline: Pipeline) -> anyhow::Result { @@ -187,7 +193,7 @@ pub fn resolve_pipeline(pipeline: Pipeline) -> anyhow::Result .into_iter() .map(|a| { let artifact_meta = artifacts.iter().find(|meta| meta.name == a).unwrap(); - ResolvedJobArtifact { + ResolvedPublishedArtifact { flowey_var: flowey_core::pipeline::internal::consistent_artifact_runtime_var_name( &a, false, @@ -199,12 +205,11 @@ pub fn resolve_pipeline(pipeline: Pipeline) -> anyhow::Result .collect(); let artifacts_used: Vec<_> = artifacts_used .into_iter() - .map(|a| ResolvedJobArtifact { + .map(|a| ResolvedUsedArtifact { flowey_var: flowey_core::pipeline::internal::consistent_artifact_runtime_var_name( &a, true, ), name: a, - force_upload: false, }) .collect(); let parameters_used: Vec<_> = parameters_used diff --git a/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs b/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs index 6cfaf1b06e..a9a80a12fa 100644 --- a/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs +++ b/flowey/flowey_cli/src/pipeline_resolver/github_yaml/mod.rs @@ -6,8 +6,9 @@ use super::common_yaml::BashCommands; use super::common_yaml::check_generated_yaml_and_json; use super::common_yaml::write_generated_yaml_and_json; -use super::generic::ResolvedJobArtifact; use super::generic::ResolvedJobUseParameter; +use super::generic::ResolvedPublishedArtifact; +use super::generic::ResolvedUsedArtifact; use crate::cli::exec_snippet::FloweyPipelineStaticDb; use crate::cli::exec_snippet::VAR_DB_SEEDVAR_FLOWEY_WORKING_DIR; use crate::cli::pipeline::CheckMode; @@ -368,7 +369,7 @@ EOF // next, emit GitHub steps to create dirs for artifacts which will be // published - for ResolvedJobArtifact { + for ResolvedPublishedArtifact { flowey_var, name, .. } in artifacts_published { @@ -395,10 +396,7 @@ EOF // lastly, emit GitHub steps that report the dirs for any artifacts which // are used by this job - for ResolvedJobArtifact { - flowey_var, name, .. - } in artifacts_used - { + for ResolvedUsedArtifact { flowey_var, name } in artifacts_used { let var_db_inject_cmd = bootstrap_bash_var_db_inject(flowey_var, true); match platform.kind() { FlowPlatformKind::Windows => { @@ -433,7 +431,7 @@ EOF // ..and once that's done, the last order of business is to emit some // GitHub steps to publish the various artifacts created by this job - for ResolvedJobArtifact { + for ResolvedPublishedArtifact { flowey_var: _, name, force_upload, diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index cdb00e389b..d0c8113ee0 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -13,60 +13,45 @@ use crate::_util::copy_dir_all; use flowey::node::prelude::*; use std::collections::BTreeMap; -#[derive(Serialize, Deserialize)] -pub enum Attachments { - Logs(ReadVar), - NextestListJson(ReadVar>), -} - -#[derive(Serialize, Deserialize)] -pub struct PublishJunitXml { - /// Path to a junit.xml file - /// - /// HACK: this is an optional since `flowey` doesn't (yet?) have any way - /// to perform conditional-requests, and there are instances where nodes - /// will only conditionally output JUnit XML. - /// - /// To keep making forward progress, I've tweaked this node to accept an - /// optional... but this ain't great. - pub junit_xml: ReadVar>, - pub test_label: String, - /// Copy full test results (all logs, dumps, etc) to the provided directory. - pub output_dir: Option>, - /// Side-effect confirming that the publish has succeeded - pub done: WriteVar, -} - -#[derive(Serialize, Deserialize)] -pub struct PublishTestLogs { - pub test_label: String, - /// Additional files or directories to upload. - /// - /// The boolean indicates whether the attachment is referenced in the - /// JUnit XML file. On backends with native JUnit attachment support, - /// these attachments will not be uploaded as distinct artifacts and - /// will instead be uploaded via the JUnit integration. - pub attachments: BTreeMap, - pub output_dir: ReadVar, - /// Side-effect confirming that the publish has succeeded - pub done: WriteVar, -} - -#[derive(Serialize, Deserialize)] -pub struct PublishNextestListJson { - /// Path to a nextest-list.json file - pub nextest_list_json: ReadVar, - pub test_label: String, - pub output_dir: ReadVar, - /// Side-effect confirming that the publish has succeeded - pub done: WriteVar, -} - flowey_request! { pub enum Request { - PublishJunitXml(PublishJunitXml), - PublishTestLogs(PublishTestLogs), - PublishNextestListJson(PublishNextestListJson), + /// Path to a junit.xml file + /// + /// HACK: this is an optional since `flowey` doesn't (yet?) have any way + /// to perform conditional-requests, and there are instances where nodes + /// will only conditionally output JUnit XML. + /// + /// To keep making forward progress, I've tweaked this node to accept an + /// optional... but this ain't great. + PublishJunitXml { + junit_xml: ReadVar>, + test_label: String, + /// Copy full test results (all logs, dumps, etc) to the provided directory. + output_dir: Option>, + /// Side-effect confirming that the publish has succeeded + done: WriteVar, + }, + PublishTestLogs { + test_label: String, + /// Additional files or directories to upload. + /// + /// The boolean indicates whether the attachment is referenced in the + /// JUnit XML file. On backends with native JUnit attachment support, + /// these attachments will not be uploaded as distinct artifacts and + /// will instead be uploaded via the JUnit integration. + attachments: BTreeMap, bool)>, + output_dir: ReadVar, + /// Side-effect confirming that the publish has succeeded + done: WriteVar, + }, + PublishNextestListJson { + /// Path to a nextest-list.json file + nextest_list_json: ReadVar, + test_label: String, + output_dir: ReadVar, + /// Side-effect confirming that the publish has succeeded + done: WriteVar, + }, } } @@ -85,12 +70,12 @@ impl FlowNode for Node { for req in requests { match req { - Request::PublishJunitXml(PublishJunitXml { + Request::PublishJunitXml { junit_xml, test_label: label, output_dir, done, - }) => { + } => { resolve_side_effects.push(done); let step_name = @@ -142,84 +127,118 @@ impl FlowNode for Node { } } } - Request::PublishTestLogs(PublishTestLogs { + Request::PublishTestLogs { test_label: label, attachments, output_dir, done, - }) => { + } => { resolve_side_effects.push(done); - for (attachment_label, (attachment_kind, publish_on_ado)) in attachments { - let step_name = format!( - "copy attachments to artifacts directory: {label} ({attachment_label})" - ); - let mut artifact_name = format!("{label}-{attachment_label}"); - let attachment_path_opt = match &attachment_kind { - Attachments::Logs(p) => p.clone().map(ctx, Some), - Attachments::NextestListJson(p) => { - artifact_name += ".json"; - p.clone() - } - }; - - let attachment_exists = attachment_path_opt.map(ctx, |opt| { - opt.as_ref() - .map(|p| { - p.exists() - && (p.is_file() - || p.read_dir() - .expect("failed to read attachment dir") - .next() - .is_some()) - }) - .unwrap_or(false) + for (attachment_label, (attachment_path, publish_on_ado)) in attachments { + let step_name = + format!("publish test results: {label} ({attachment_label})"); + let artifact_name = format!("{label}-{attachment_label}"); + + let attachment_exists = attachment_path.map(ctx, |p| { + p.exists() + && (p.is_file() + || p.read_dir() + .expect("failed to read attachment dir") + .next() + .is_some()) + }); + let attachment_path_string = attachment_path.map(ctx, |p| { + p.absolute().expect("invalid path").display().to_string() }); - if matches!(ctx.backend(), FlowBackend::Ado) && !publish_on_ado { - use_side_effects.push(attachment_exists.into_side_effect()); - use_side_effects.push(attachment_path_opt.into_side_effect()); - continue; - } + match ctx.backend() { + FlowBackend::Ado => { + if publish_on_ado { + let (published_read, published_write) = ctx.new_var(); + use_side_effects.push(published_read); - let output_dir_clone = output_dir.clone(); - use_side_effects.push(ctx.emit_rust_step(step_name, move |ctx| { - let output_dir = output_dir_clone.claim(ctx); - let attachment_exists = attachment_exists.claim(ctx); - let attachment_path_opt = attachment_path_opt.claim(ctx); + // Note: usually flowey's built-in artifact publishing API + // should be used instead of this, but here we need to + // manually upload the artifact now so that we can overwrite the artifact name. + ctx.emit_ado_step_with_condition( + step_name.clone(), + attachment_exists, + |ctx| { + published_write.claim(ctx); + let attachment_path_string = + attachment_path_string.claim(ctx); + move |rt| { + let path_var = rt + .get_var(attachment_path_string) + .as_raw_var_name(); + // Artifact name includes the JobAttempt to + // differentiate between artifacts that were + // generated when rerunning failed jobs. + format!( + r#" + - publish: $({path_var}) + artifact: {artifact_name}-$({}) + "#, + AdoRuntimeVar::SYSTEM__JOB_ATTEMPT + .as_raw_var_name() + ) + } + }, + ); + } else { + use_side_effects.push(attachment_exists.into_side_effect()); + use_side_effects + .push(attachment_path_string.into_side_effect()); + } + } + FlowBackend::Github => { + // Note: usually flowey's built-in artifact publishing API should be used instead of this, + // but here we need to manually upload the artifact so that we can attach a condition. + use_side_effects.push( + ctx.emit_gh_step( + step_name.clone(), + "actions/upload-artifact@v4", + ) + .condition(attachment_exists) + .with("name", artifact_name) + .with("path", attachment_path_string) + .finish(ctx), + ); + } + FlowBackend::Local => { + use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { + let output_dir = output_dir.clone().claim(ctx); + let attachment_exists = attachment_exists.claim(ctx); + let attachment_path = attachment_path.claim(ctx); - move |rt| { - let output_dir = rt.read(output_dir); - let attachment_exists = rt.read(attachment_exists); - let attachment_path_opt = rt.read(attachment_path_opt); + move |rt| { + let output_dir = rt.read(output_dir); + let attachment_exists = rt.read(attachment_exists); + let attachment_path = rt.read(attachment_path); - if attachment_exists { - if let Some(attachment_path) = attachment_path_opt { - if attachment_path.is_dir() { + if attachment_exists { copy_dir_all( attachment_path, output_dir.join(artifact_name), )?; - } else { - fs_err::copy( - attachment_path, - output_dir.join(artifact_name), - )?; } + + Ok(()) } - } + })); - Ok(()) + use_side_effects.push(attachment_path_string.into_side_effect()); } - })); + } } } - Request::PublishNextestListJson(PublishNextestListJson { + Request::PublishNextestListJson { nextest_list_json, test_label: label, output_dir, done, - }) => { + } => { resolve_side_effects.push(done); let step_name = diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs index 754fa764fd..8268f67322 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -//! Run cargo-nextest tests. +//! Run cargo-nextest list command. use flowey::node::prelude::*; use std::collections::BTreeMap; use std::io::Write; diff --git a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs index 7467892fcb..b351ade117 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/build_and_run_nextest_unit_tests.rs @@ -65,16 +65,15 @@ impl SimpleFlowNode for Node { let mut side_effects = Vec::new(); let junit_xml = results.map(ctx, |r| r.junit_xml); - let reported_results = ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishJunitXml( - flowey_lib_common::publish_test_results::PublishJunitXml { + let reported_results = + ctx.reqv( + |v| flowey_lib_common::publish_test_results::Request::PublishJunitXml { junit_xml, test_label: junit_test_label, output_dir: artifact_dir, done: v, }, - ) - }); + ); side_effects.push(reported_results); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index 039c9d4657..ead358749e 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -231,46 +231,32 @@ impl SimpleFlowNode for Node { // Publish JUnit XML side_effects.push(ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishJunitXml( - flowey_lib_common::publish_test_results::PublishJunitXml { - junit_xml, - test_label: junit_test_label.clone(), - output_dir: Some(junit_xml_output_dir), - done: v, - }, - ) + flowey_lib_common::publish_test_results::Request::PublishJunitXml { + junit_xml, + test_label: junit_test_label.clone(), + output_dir: Some(junit_xml_output_dir), + done: v, + } })); // Publish test logs side_effects.push(ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishTestLogs( - flowey_lib_common::publish_test_results::PublishTestLogs { - test_label: junit_test_label.clone(), - attachments: BTreeMap::from([( - "logs".to_string(), - ( - flowey_lib_common::publish_test_results::Attachments::Logs( - test_log_path, - ), - false, - ), - )]), - output_dir: test_results_full_output_dir, - done: v, - }, - ) + flowey_lib_common::publish_test_results::Request::PublishTestLogs { + test_label: junit_test_label.clone(), + attachments: BTreeMap::from([("logs".to_string(), (test_log_path, false))]), + output_dir: test_results_full_output_dir, + done: v, + } })); // Publish nextest-list.json side_effects.push(ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishNextestListJson( - flowey_lib_common::publish_test_results::PublishNextestListJson { - nextest_list_json, - test_label: junit_test_label, - output_dir: nextest_list_json_output_dir, - done: v, - }, - ) + flowey_lib_common::publish_test_results::Request::PublishNextestListJson { + nextest_list_json, + test_label: junit_test_label, + output_dir: nextest_list_json_output_dir, + done: v, + } })); ctx.emit_rust_step("report test results to overall pipeline status", |ctx| { 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 adad5e8f6e..23c6b6f0e0 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 @@ -926,16 +926,15 @@ impl SimpleFlowNode for Node { }); let junit_xml = results.map(ctx, |r| r.junit_xml); - let published_results = ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishJunitXml( - flowey_lib_common::publish_test_results::PublishJunitXml { + let published_results = + ctx.reqv( + |v| flowey_lib_common::publish_test_results::Request::PublishJunitXml { junit_xml, test_label, output_dir: Some(ReadVar::from_static(test_content_dir)), done: v, }, - ) - }); + ); ctx.emit_rust_step("report test results", |ctx| { published_results.claim(ctx); diff --git a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs index 01b4dd894a..df10d446bf 100644 --- a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs +++ b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -//! Run cargo-nextest tests. +//! Run cargo-nextest list. use flowey::node::prelude::*; use std::collections::BTreeMap; From 130e31e255a70365ee1b53c97808fc7f24598edc Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Wed, 15 Oct 2025 10:18:42 -0700 Subject: [PATCH 27/37] Update comments and make the run_cargo_nextest_list command configurable --- flowey/flowey_lib_common/src/gen_cargo_nextest_list_cmd.rs | 5 ++++- flowey/flowey_lib_common/src/run_cargo_nextest_list.rs | 4 ++++ .../src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs | 2 ++ flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs | 6 +++--- flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs | 4 ++++ 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/flowey/flowey_lib_common/src/gen_cargo_nextest_list_cmd.rs b/flowey/flowey_lib_common/src/gen_cargo_nextest_list_cmd.rs index 87ac4b21dc..b7dc923533 100644 --- a/flowey/flowey_lib_common/src/gen_cargo_nextest_list_cmd.rs +++ b/flowey/flowey_lib_common/src/gen_cargo_nextest_list_cmd.rs @@ -22,6 +22,8 @@ flowey_request! { pub nextest_profile: String, /// Nextest test filter expression pub nextest_filter_expr: Option, + /// Whether to include ignored tests in the list output + pub run_ignored: bool, /// Additional env vars set when executing the tests. pub extra_env: Option>>, /// Generated cargo-nextest list command @@ -47,6 +49,7 @@ impl FlowNode for Node { config_file, nextest_profile, nextest_filter_expr, + run_ignored, extra_env, command: list_cmd, } in requests @@ -63,7 +66,7 @@ impl FlowNode for Node { nextest_profile, extra_env, nextest_filter_expr, - run_ignored: true, + run_ignored, fail_fast: None, portable: false, command: v, diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs index 8268f67322..4ba38ad3b3 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs @@ -24,6 +24,8 @@ flowey_request! { pub nextest_profile: String, /// Nextest test filter expression pub nextest_filter_expr: Option, + /// Whether to include ignored tests in the list output + pub run_ignored: bool, /// Additional env vars set when executing the tests. pub extra_env: Option>>, /// Output directory for the nextest list output file @@ -54,6 +56,7 @@ impl SimpleFlowNode for Node { config_file, nextest_profile, nextest_filter_expr, + run_ignored, extra_env, output_dir, pre_run_deps, @@ -74,6 +77,7 @@ impl SimpleFlowNode for Node { config_file, nextest_profile, nextest_filter_expr, + run_ignored, extra_env, command: v, }); diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index ead358749e..fec0993557 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -213,6 +213,7 @@ impl SimpleFlowNode for Node { let junit_xml = results.map(ctx, |r| r.junit_xml); let archive_file = nextest_vmm_tests_archive.map(ctx, |x| x.archive_file); + // Run_ignored option is set to true so that we can dump all the tests that were built, instead of just the ones that were run. let nextest_list_json = ctx.reqv(|v| crate::run_cargo_nextest_list::Request { archive_file, nextest_bin: None, @@ -221,6 +222,7 @@ impl SimpleFlowNode for Node { config_file: None, nextest_profile: nextest_profile.as_str().to_owned(), nextest_filter_expr: nextest_filter_expr.clone(), + run_ignored: true, extra_env: Some(extra_env), output_dir: test_log_path.clone(), pre_run_deps: vec![], diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs index 4c72d5cbcf..ecc8ef3623 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -55,9 +55,9 @@ impl SimpleFlowNode for Node { let parse = ctx.emit_rust_step( "parse and analyze junit logs and nextest list output", |ctx| { - // This step takes all of the junit XML files (i.e. the tests that were run) and the nextest list output (i.e. the tests that were built) - // and verifies that the set of all tests that were built is the same as the set of all tests that were run. - // If these sets were to differ it would be because a test was built but not run, which indicates a test gap. + // This step takes all of the junit XML files (i.e. the tests that were run) and the nextest list (with the --include-ignored flag) + // command output (i.e. all the tests that were built) and verifies that the set of all tests that were built is the same as the set + // of all tests that were run. If these sets were to differ it would be because a test was built but not run, which indicates a test gap. // We have automation in the test run step that will automatically skip tests that are not meant to run on a given host because the host does // not meet the test case requirements. For example, TDX/SNP tests are skipped on non-compatible hardware. let artifacts: Vec<_> = test_artifacts diff --git a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs index df10d446bf..aa85e6bde5 100644 --- a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs +++ b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs @@ -21,6 +21,8 @@ flowey_request! { pub nextest_profile: String, /// Nextest test filter expression pub nextest_filter_expr: Option, + /// Whether to include ignored tests in the list output + pub run_ignored: bool, /// Additional env vars set when executing the tests. pub extra_env: Option>>, /// Output directory for the nextest list output file @@ -60,6 +62,7 @@ impl SimpleFlowNode for Node { config_file, nextest_profile, nextest_filter_expr, + run_ignored, extra_env, output_dir, mut pre_run_deps, @@ -89,6 +92,7 @@ impl SimpleFlowNode for Node { config_file, nextest_profile, nextest_filter_expr, + run_ignored, extra_env: Some(extra_env), output_dir, pre_run_deps, From eea6cc18dbc78c91719a14886114f1f02cd9030d Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Wed, 15 Oct 2025 10:20:25 -0700 Subject: [PATCH 28/37] Revert this change --- flowey/flowey_hvlite/src/pipelines/checkin_gates.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 90f5922e15..e823b1bb36 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -917,7 +917,7 @@ impl IntoPipeline for CheckinGatesCli { KnownTestArtifacts::VmgsWithBootEntry, ]; - let cvm_filter = |arch| format!("test({arch}) + (test(vbs) & test(hyperv))"); + let cvm_filter = |_| "(test(vbs) & test(hyperv))".to_string(); let cvm_x64_test_artifacts = vec![ KnownTestArtifacts::Gen2WindowsDataCenterCore2022X64Vhd, KnownTestArtifacts::Gen2WindowsDataCenterCore2025X64Vhd, From 2e1d8e265983a212a7c7f63e4de939ef25bde023 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Wed, 15 Oct 2025 14:14:48 -0700 Subject: [PATCH 29/37] Revert "Revert this change" This reverts commit eea6cc18dbc78c91719a14886114f1f02cd9030d. --- flowey/flowey_hvlite/src/pipelines/checkin_gates.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index e823b1bb36..90f5922e15 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -917,7 +917,7 @@ impl IntoPipeline for CheckinGatesCli { KnownTestArtifacts::VmgsWithBootEntry, ]; - let cvm_filter = |_| "(test(vbs) & test(hyperv))".to_string(); + let cvm_filter = |arch| format!("test({arch}) + (test(vbs) & test(hyperv))"); let cvm_x64_test_artifacts = vec![ KnownTestArtifacts::Gen2WindowsDataCenterCore2022X64Vhd, KnownTestArtifacts::Gen2WindowsDataCenterCore2025X64Vhd, From 20e6604dd41e59573b64333aa1b2f3fafa26df01 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Wed, 15 Oct 2025 15:50:38 -0700 Subject: [PATCH 30/37] . --- .github/workflows/openvmm-ci.yaml | 1622 ++++++++--------- .github/workflows/openvmm-pr-release.yaml | 1622 ++++++++--------- .github/workflows/openvmm-pr.yaml | 1622 ++++++++--------- .../src/pipelines/checkin_gates.rs | 74 +- ...sume_and_test_nextest_vmm_tests_archive.rs | 30 - .../local_build_and_run_nextest_vmm_tests.rs | 5 +- .../src/_jobs/verify_all_tests_run.rs | 65 +- .../src/build_nextest_vmm_tests.rs | 55 +- 8 files changed, 2328 insertions(+), 2767 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index fd942f9015..655b020cc7 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1448,8 +1448,6 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-junit-xml" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" - echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1462,8 +1460,55 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: creating new test content dir + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 14 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 14 flowey_lib_common::cache 4 + flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + shell: bash + - id: flowey_lib_common__cache__5 + uses: actions/cache@v4 + with: + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3709,21 +3412,22 @@ jobs: cat <<'EOF' | flowey v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output - run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + run: |- + flowey e 20 flowey_core::pipeline::artifact::resolve 0 + flowey e 20 flowey_core::pipeline::artifact::resolve 2 + flowey e 20 flowey_core::pipeline::artifact::resolve 1 + flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job21: name: test flowey local backend @@ -3912,6 +3616,8 @@ jobs: cat <<'EOF' | flowey.exe v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-nextest-list-json" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-nextest-list-json' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" @@ -3966,22 +3672,22 @@ jobs: shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 3 flowey_lib_common::cache 4 - flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 3 flowey_lib_common::cache 8 + flowey.exe v 3 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 3 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - - id: flowey_lib_common__cache__5 + - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- - flowey.exe v 3 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3718,21 +3421,22 @@ jobs: cat <<'EOF' | flowey v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output - run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + run: |- + flowey e 20 flowey_core::pipeline::artifact::resolve 0 + flowey e 20 flowey_core::pipeline::artifact::resolve 2 + flowey e 20 flowey_core::pipeline::artifact::resolve 1 + flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job21: name: test flowey local backend @@ -3921,6 +3625,8 @@ jobs: cat <<'EOF' | flowey.exe v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-nextest-list-json" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-nextest-list-json' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" @@ -3975,22 +3681,22 @@ jobs: shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 3 flowey_lib_common::cache 4 - flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 3 flowey_lib_common::cache 8 + flowey.exe v 3 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 3 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - - id: flowey_lib_common__cache__5 + - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- - flowey.exe v 3 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3958,21 +3661,22 @@ jobs: cat <<'EOF' | flowey v 21 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-nextest-list-json" | flowey v 21 'artifact_use_from_aarch64-windows-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-nextest-list-json" | flowey v 21 'artifact_use_from_x64-linux-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output - run: flowey e 21 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + run: |- + flowey e 21 flowey_core::pipeline::artifact::resolve 0 + flowey e 21 flowey_core::pipeline::artifact::resolve 2 + flowey e 21 flowey_core::pipeline::artifact::resolve 1 + flowey e 21 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job22: name: test flowey local backend @@ -4220,6 +3924,8 @@ jobs: cat <<'EOF' | flowey.exe v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-nextest-list-json" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-nextest-list-json' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" @@ -4274,22 +3980,22 @@ jobs: shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 3 flowey_lib_common::cache 4 - flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 3 flowey_lib_common::cache 8 + flowey.exe v 3 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 3 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - - id: flowey_lib_common__cache__5 + - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- - flowey.exe v 3 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit < { let pub_vmm_tests_archive_windows_x86 = pub_vmm_tests_archive_windows_x86.take().unwrap(); - job = job.dep_on(|ctx| + + let pub_nextest_list_json_windows_x86 = + pub_nextest_list_json_windows_x86.take().unwrap(); + job = job.dep_on(move |ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::X86_64_WINDOWS_MSVC.as_triple(), profile: CommonProfile::from_release(release), - build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( - ctx.publish_typed_artifact(pub_vmm_tests_archive_windows_x86), - ), + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive { + nextest_list_json_file: Some(ctx.publish_typed_artifact(pub_nextest_list_json_windows_x86)), + vmm_test_archive: ctx.publish_typed_artifact(pub_vmm_tests_archive_windows_x86), + }, }); } CommonArch::Aarch64 => { let pub_vmm_tests_archive_windows_aarch64 = pub_vmm_tests_archive_windows_aarch64.take().unwrap(); - job = job.dep_on(|ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { + + let pub_nextest_list_json_windows_aarch64 = + pub_nextest_list_json_windows_aarch64.take().unwrap(); + job = job.dep_on(move |ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::AARCH64_WINDOWS_MSVC.as_triple(), profile: CommonProfile::from_release(release), - build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( - ctx.publish_typed_artifact(pub_vmm_tests_archive_windows_aarch64), - ), + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive { + nextest_list_json_file: Some(ctx.publish_typed_artifact(pub_nextest_list_json_windows_aarch64)), + vmm_test_archive: ctx.publish_typed_artifact(pub_vmm_tests_archive_windows_aarch64), + }, }); } } @@ -553,12 +572,16 @@ impl IntoPipeline for CheckinGatesCli { if matches!(arch, CommonArch::X86_64) { let pub_vmm_tests_archive_linux_x86 = pub_vmm_tests_archive_linux_x86.take().unwrap(); - job = job.dep_on(|ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { + + let pub_nextest_list_json_linux_x86 = + pub_nextest_list_json_linux_x86.take().unwrap(); + job = job.dep_on(move |ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::X86_64_LINUX_GNU.as_triple(), profile: CommonProfile::from_release(release), - build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( - ctx.publish_typed_artifact(pub_vmm_tests_archive_linux_x86), - ), + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive{ + nextest_list_json_file: Some(ctx.publish_typed_artifact(pub_nextest_list_json_linux_x86)), + vmm_test_archive: ctx.publish_typed_artifact(pub_vmm_tests_archive_linux_x86), + }, }); } @@ -1016,17 +1039,11 @@ impl IntoPipeline for CheckinGatesCli { let (pub_vmm_tests_junit_xml, use_vmm_tests_junit_xml) = pipeline.new_artifact(format!("{label}-vmm-tests-results-junit-xml")); - let (pub_vmm_tests_nextest_list_json, use_vmm_tests_nextest_list_json) = - pipeline.new_artifact(format!("{label}-vmm-tests-results-nextest-list-json")); pipeline.force_publish_artifact(&pub_vmm_tests_results_full); pipeline.force_publish_artifact(&pub_vmm_tests_junit_xml); - pipeline.force_publish_artifact(&pub_vmm_tests_nextest_list_json); - vmm_tests_results_artifacts.push(( - label.to_string(), - (use_vmm_tests_junit_xml, use_vmm_tests_nextest_list_json), - )); + vmm_tests_results_artifacts.push((label.to_string(), (use_vmm_tests_junit_xml))); let use_vmm_tests_archive = match target { CommonTriple::X86_64_WINDOWS_MSVC => &use_vmm_tests_archive_windows_x86, @@ -1050,8 +1067,6 @@ impl IntoPipeline for CheckinGatesCli { test_artifacts, fail_job_on_test_fail: true, junit_xml_output_dir: ctx.publish_artifact(pub_vmm_tests_junit_xml), - nextest_list_json_output_dir: ctx - .publish_artifact(pub_vmm_tests_nextest_list_json), test_results_full_output_dir: ctx .publish_artifact(pub_vmm_tests_results_full), needs_prep_run, @@ -1087,18 +1102,15 @@ impl IntoPipeline for CheckinGatesCli { )) .dep_on( |ctx| flowey_lib_hvlite::_jobs::verify_all_tests_run::Request { - test_artifacts: vmm_tests_results_artifacts + junit_xml_files: vmm_tests_results_artifacts .iter() - .map(|elem| { - ( - elem.0.clone(), - flowey_lib_hvlite::_jobs::verify_all_tests_run::VmmTestResultsArtifacts { - junit_xml: ctx.use_artifact(&elem.1.0), - nextest_list_json: ctx.use_artifact(&elem.1.1), - }, - ) - }) + .map(|elem| (elem.0.clone(), ctx.use_artifact(&elem.1))) .collect(), + nextest_list_json_files: vec![ + ctx.use_typed_artifact(&use_nextest_list_json_windows_x86), + ctx.use_typed_artifact(&use_nextest_list_json_linux_x86), + ctx.use_typed_artifact(&use_nextest_list_json_windows_aarch64), + ], done: ctx.new_done_handle(), }, ) diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index fec0993557..3259742d1d 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -54,8 +54,6 @@ flowey_request! { pub fail_job_on_test_fail: bool, /// Copy the junit xml file to the provided directory. pub junit_xml_output_dir: ReadVar, - /// Copy the nextest-list.json to the provided directory. - pub nextest_list_json_output_dir: ReadVar, /// Copy full test results (all logs, dumps, etc) to the provided directory. pub test_results_full_output_dir: ReadVar, pub done: WriteVar, @@ -93,7 +91,6 @@ impl SimpleFlowNode for Node { fail_job_on_test_fail, needs_prep_run, junit_xml_output_dir, - nextest_list_json_output_dir, test_results_full_output_dir, done, } = request; @@ -212,23 +209,6 @@ impl SimpleFlowNode for Node { let test_log_path = test_log_path.depending_on(ctx, &results); let junit_xml = results.map(ctx, |r| r.junit_xml); - let archive_file = nextest_vmm_tests_archive.map(ctx, |x| x.archive_file); - // Run_ignored option is set to true so that we can dump all the tests that were built, instead of just the ones that were run. - let nextest_list_json = ctx.reqv(|v| crate::run_cargo_nextest_list::Request { - archive_file, - nextest_bin: None, - target: None, - working_dir: None, - config_file: None, - nextest_profile: nextest_profile.as_str().to_owned(), - nextest_filter_expr: nextest_filter_expr.clone(), - run_ignored: true, - extra_env: Some(extra_env), - output_dir: test_log_path.clone(), - pre_run_deps: vec![], - output_file: v, - }); - let mut side_effects = Vec::new(); // Publish JUnit XML @@ -251,16 +231,6 @@ impl SimpleFlowNode for Node { } })); - // Publish nextest-list.json - side_effects.push(ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishNextestListJson { - nextest_list_json, - test_label: junit_test_label, - output_dir: nextest_list_json_output_dir, - done: v, - } - })); - ctx.emit_rust_step("report test results to overall pipeline status", |ctx| { side_effects.claim(ctx); done.claim(ctx); 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 23c6b6f0e0..1e7c2cef5e 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 @@ -708,7 +708,10 @@ impl SimpleFlowNode for Node { let nextest_archive = ctx.reqv(|v| crate::build_nextest_vmm_tests::Request { target: target.as_triple(), profile: CommonProfile::from_release(release), - build_mode: crate::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive(v), + build_mode: crate::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive { + nextest_list_json_file: None, + vmm_test_archive: v, + }, }); let nextest_archive_file = Path::new("vmm-tests-archive.tar.zst"); copy_to_dir.push(( diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs index ecc8ef3623..4a78a2f9bc 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -2,6 +2,7 @@ // Licensed under the MIT License. //! Verifies that all tests that are built are run at least once over the course of an entire pipeline run. +use crate::build_nextest_vmm_tests::NextestVmmTestsList; use flowey::node::prelude::*; use quick_xml::Reader; use quick_xml::events::Event; @@ -20,15 +21,10 @@ struct Suite { testcases: HashMap, // we don't care about contents } -#[derive(Serialize, Deserialize)] -pub struct VmmTestResultsArtifacts { - pub junit_xml: ReadVar, - pub nextest_list_json: ReadVar, -} - flowey_request! { pub struct Request { - pub test_artifacts: Vec<(String, VmmTestResultsArtifacts)>, + pub junit_xml_files: Vec<(String, ReadVar)>, + pub nextest_list_json_files: Vec>, pub done: WriteVar, } } @@ -42,7 +38,8 @@ impl SimpleFlowNode for Node { fn process_request(request: Self::Request, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { let Request { - test_artifacts, + junit_xml_files, + nextest_list_json_files, done, } = request; @@ -60,42 +57,50 @@ impl SimpleFlowNode for Node { // of all tests that were run. If these sets were to differ it would be because a test was built but not run, which indicates a test gap. // We have automation in the test run step that will automatically skip tests that are not meant to run on a given host because the host does // not meet the test case requirements. For example, TDX/SNP tests are skipped on non-compatible hardware. - let artifacts: Vec<_> = test_artifacts + let junit_xml_files: Vec<_> = junit_xml_files + .into_iter() + .map(|(prefix, var)| (prefix, var.claim(ctx))) + .collect(); + let nextest_list_json_files: Vec<_> = nextest_list_json_files .into_iter() - .map(|(prefix, artifacts)| { - ( - prefix, - artifacts.junit_xml.claim(ctx), - artifacts.nextest_list_json.claim(ctx), - ) - }) + .map(|var| var.claim(ctx)) .collect(); move |rt| { let mut combined_junit_testcases: HashSet = HashSet::new(); let mut combined_nextest_testcases: HashSet = HashSet::new(); - for (prefix, junit_xml_dir, nextest_list_json_dir) in artifacts { - let junit_xml_dir = rt.read(junit_xml_dir); - let nextest_list_dir = rt.read(nextest_list_json_dir); - println!("Artifact dir: {}", junit_xml_dir.display()); - println!("Artifact dir: {}", nextest_list_dir.display()); - assert!(junit_xml_dir.exists(), "expected artifact dir to exist"); - assert!(nextest_list_dir.exists(), "expected artifact dir to exist"); + for (prefix, junit_xml_dir_var) in junit_xml_files { + let junit_xml_dir = rt.read(junit_xml_dir_var); + println!("JUnit artifact dir: {}", junit_xml_dir.display()); + assert!( + junit_xml_dir.exists(), + "expected junit artifact dir to exist" + ); - let junit_xml = prefix.clone() + "-vmm-tests-junit-xml.xml"; - let nextest_list = prefix.clone() + "-vmm-tests-nextest-list.json"; - - let junit_xml = junit_xml_dir.clone().join(&junit_xml); - let nextest_list = nextest_list_dir.clone().join(&nextest_list); + let junit_xml_path = + junit_xml_dir.join(format!("{}-vmm-tests-junit-xml.xml", prefix)); get_testcase_names_from_junit_xml( - &junit_xml, + &junit_xml_path, &mut combined_junit_testcases, )?; + } + + for nextest_list_json_file in nextest_list_json_files { + let nextest_list_json_file = rt.read(nextest_list_json_file); + let nextest_list_json_file = nextest_list_json_file.nextest_list_json; + println!( + "Nextest list artifact dir: {}", + nextest_list_json_file.display() + ); + assert!( + nextest_list_json_file.exists(), + "expected nextest list artifact dir to exist" + ); get_testcase_names_from_nextest_list_json( - &nextest_list, + &nextest_list_json_file, &mut combined_nextest_testcases, )?; } diff --git a/flowey/flowey_lib_hvlite/src/build_nextest_vmm_tests.rs b/flowey/flowey_lib_hvlite/src/build_nextest_vmm_tests.rs index 83080e5bba..dbd0b73cec 100644 --- a/flowey/flowey_lib_hvlite/src/build_nextest_vmm_tests.rs +++ b/flowey/flowey_lib_hvlite/src/build_nextest_vmm_tests.rs @@ -18,7 +18,15 @@ pub struct NextestVmmTestsArchive { pub archive_file: PathBuf, } +/// Type-safe wrapper around a json file containing a list of test cases built in the nextest archive +#[derive(Serialize, Deserialize)] +pub struct NextestVmmTestsList { + #[serde(rename = "vmm_tests.json")] + pub nextest_list_json: PathBuf, +} + impl Artifact for NextestVmmTestsArchive {} +impl Artifact for NextestVmmTestsList {} /// Build mode to use when building the nextest VMM tests #[derive(Serialize, Deserialize)] @@ -45,7 +53,10 @@ pub enum BuildNextestVmmTestsMode { }, /// Build and archive the tests into a nextest archive file, which can then /// be run via [`crate::test_nextest_vmm_tests_archive`]. - Archive(WriteVar), + Archive { + nextest_list_json_file: Option>, + vmm_test_archive: WriteVar, + }, } flowey_request! { @@ -67,6 +78,7 @@ impl FlowNode for Node { fn imports(ctx: &mut ImportCtx<'_>) { ctx.import::(); ctx.import::(); + ctx.import::(); ctx.import::(); ctx.import::(); ctx.import::(); @@ -155,25 +167,58 @@ impl FlowNode for Node { results, }) } - BuildNextestVmmTestsMode::Archive(unit_tests_archive) => { + BuildNextestVmmTestsMode::Archive { + nextest_list_json_file: nextest_list_json_write, + vmm_test_archive, + } => { let openvmm_repo_path = ctx.reqv(crate::git_checkout_openvmm_repo::req::GetRepoDir); let archive_file = ctx.reqv(|v| flowey_lib_common::run_cargo_nextest_archive::Request { friendly_label: "vmm_tests".into(), - working_dir: openvmm_repo_path, + working_dir: openvmm_repo_path.clone(), build_params, pre_run_deps: ambient_deps, archive_file: v, }); + let nextest_list_json = if nextest_list_json_write.as_ref().is_some() { + Some(ctx.reqv(|v| crate::run_cargo_nextest_list::Request { + archive_file: archive_file.clone(), + nextest_bin: None, + target: None, + working_dir: None, + config_file: None, + nextest_profile: "ci".into(), + nextest_filter_expr: None, + run_ignored: true, + extra_env: None, + output_dir: openvmm_repo_path, + pre_run_deps: vec![], + output_file: v, + })) + } else { + None + }; + ctx.emit_minor_rust_step("report built vmm_tests", |ctx| { let archive_file = archive_file.claim(ctx); - let unit_tests = unit_tests_archive.claim(ctx); + let vmm_tests = vmm_test_archive.claim(ctx); + let nextest_list_json = nextest_list_json.claim(ctx); + let nextest_list_json_write = nextest_list_json_write.claim(ctx); |rt| { let archive_file = rt.read(archive_file); - rt.write(unit_tests, &NextestVmmTestsArchive { archive_file }); + let nextest_list_json = rt.read(nextest_list_json); + rt.write(vmm_tests, &NextestVmmTestsArchive { archive_file }); + if let Some(nextest_list_json) = nextest_list_json { + if let Some(nextest_list_json_write) = nextest_list_json_write { + rt.write( + nextest_list_json_write, + &NextestVmmTestsList { nextest_list_json }, + ); + } + } } }); } From 98bfa236ca38a72e1ac812ad9d3004b3f7dcf3d1 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Fri, 17 Oct 2025 08:35:17 -0700 Subject: [PATCH 31/37] Revert "." This reverts commit 20e6604dd41e59573b64333aa1b2f3fafa26df01. --- .github/workflows/openvmm-ci.yaml | 1618 +++++++++-------- .github/workflows/openvmm-pr-release.yaml | 1618 +++++++++-------- .github/workflows/openvmm-pr.yaml | 1618 +++++++++-------- .../src/pipelines/checkin_gates.rs | 74 +- ...sume_and_test_nextest_vmm_tests_archive.rs | 30 + .../local_build_and_run_nextest_vmm_tests.rs | 5 +- .../src/_jobs/verify_all_tests_run.rs | 65 +- .../src/build_nextest_vmm_tests.rs | 55 +- 8 files changed, 2761 insertions(+), 2322 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 655b020cc7..fd942f9015 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1448,6 +1448,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-junit-xml" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey.exe v 14 'artifact_publish_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update @@ -1460,55 +1462,8 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 14 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 14 flowey_lib_common::cache 4 - flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 - shell: bash - - id: flowey_lib_common__cache__5 - uses: actions/cache@v4 - with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3412,22 +3709,21 @@ jobs: cat <<'EOF' | flowey v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output - run: |- - flowey e 20 flowey_core::pipeline::artifact::resolve 0 - flowey e 20 flowey_core::pipeline::artifact::resolve 2 - flowey e 20 flowey_core::pipeline::artifact::resolve 1 - flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job21: name: test flowey local backend @@ -3616,8 +3912,6 @@ jobs: cat <<'EOF' | flowey.exe v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-nextest-list-json" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-nextest-list-json" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-nextest-list-json' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" @@ -3672,22 +3966,22 @@ jobs: shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 3 flowey_lib_common::cache 8 - flowey.exe v 3 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 3 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe e 3 flowey_lib_common::cache 4 + flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- - flowey.exe v 3 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3421,22 +3718,21 @@ jobs: cat <<'EOF' | flowey v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 20 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output - run: |- - flowey e 20 flowey_core::pipeline::artifact::resolve 0 - flowey e 20 flowey_core::pipeline::artifact::resolve 2 - flowey e 20 flowey_core::pipeline::artifact::resolve 1 - flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + run: flowey e 20 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job21: name: test flowey local backend @@ -3625,8 +3921,6 @@ jobs: cat <<'EOF' | flowey.exe v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-nextest-list-json" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-nextest-list-json" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-nextest-list-json' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" @@ -3681,22 +3975,22 @@ jobs: shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 3 flowey_lib_common::cache 8 - flowey.exe v 3 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 3 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe e 3 flowey_lib_common::cache 4 + flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- - flowey.exe v 3 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -3661,22 +3958,21 @@ jobs: cat <<'EOF' | flowey v 21 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-nextest-list-json" | flowey v 21 'artifact_use_from_aarch64-windows-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-nextest-list-json" | flowey v 21 'artifact_use_from_x64-linux-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_aarch64-windows-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-linux-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-snp-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-amd-snp-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-amd-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-amd-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-junit-xml' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-tdx-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-intel-tdx-vmm-tests-results-nextest-list-json' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-junit-xml" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results-junit-xml' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-nextest-list-json' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-intel-vmm-tests-results-nextest-list-json" | flowey v 21 'artifact_use_from_x64-windows-intel-vmm-tests-results-nextest-list-json' --is-raw-string update shell: bash - name: parse and analyze junit logs and nextest list output - run: |- - flowey e 21 flowey_core::pipeline::artifact::resolve 0 - flowey e 21 flowey_core::pipeline::artifact::resolve 2 - flowey e 21 flowey_core::pipeline::artifact::resolve 1 - flowey e 21 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 + run: flowey e 21 flowey_lib_hvlite::_jobs::verify_all_tests_run 0 shell: bash job22: name: test flowey local backend @@ -3924,8 +4220,6 @@ jobs: cat <<'EOF' | flowey.exe v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-nextest-list-json" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-nextest-list-json" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-nextest-list-json' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" @@ -3980,22 +4274,22 @@ jobs: shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 3 flowey_lib_common::cache 8 - flowey.exe v 3 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey.exe v 3 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey.exe e 3 flowey_lib_common::cache 4 + flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- - flowey.exe v 3 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit < { let pub_vmm_tests_archive_windows_x86 = pub_vmm_tests_archive_windows_x86.take().unwrap(); - - let pub_nextest_list_json_windows_x86 = - pub_nextest_list_json_windows_x86.take().unwrap(); - job = job.dep_on(move |ctx| + job = job.dep_on(|ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::X86_64_WINDOWS_MSVC.as_triple(), profile: CommonProfile::from_release(release), - build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive { - nextest_list_json_file: Some(ctx.publish_typed_artifact(pub_nextest_list_json_windows_x86)), - vmm_test_archive: ctx.publish_typed_artifact(pub_vmm_tests_archive_windows_x86), - }, + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( + ctx.publish_typed_artifact(pub_vmm_tests_archive_windows_x86), + ), }); } CommonArch::Aarch64 => { let pub_vmm_tests_archive_windows_aarch64 = pub_vmm_tests_archive_windows_aarch64.take().unwrap(); - - let pub_nextest_list_json_windows_aarch64 = - pub_nextest_list_json_windows_aarch64.take().unwrap(); - job = job.dep_on(move |ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { + job = job.dep_on(|ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::AARCH64_WINDOWS_MSVC.as_triple(), profile: CommonProfile::from_release(release), - build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive { - nextest_list_json_file: Some(ctx.publish_typed_artifact(pub_nextest_list_json_windows_aarch64)), - vmm_test_archive: ctx.publish_typed_artifact(pub_vmm_tests_archive_windows_aarch64), - }, + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( + ctx.publish_typed_artifact(pub_vmm_tests_archive_windows_aarch64), + ), }); } } @@ -572,16 +553,12 @@ impl IntoPipeline for CheckinGatesCli { if matches!(arch, CommonArch::X86_64) { let pub_vmm_tests_archive_linux_x86 = pub_vmm_tests_archive_linux_x86.take().unwrap(); - - let pub_nextest_list_json_linux_x86 = - pub_nextest_list_json_linux_x86.take().unwrap(); - job = job.dep_on(move |ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { + job = job.dep_on(|ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::X86_64_LINUX_GNU.as_triple(), profile: CommonProfile::from_release(release), - build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive{ - nextest_list_json_file: Some(ctx.publish_typed_artifact(pub_nextest_list_json_linux_x86)), - vmm_test_archive: ctx.publish_typed_artifact(pub_vmm_tests_archive_linux_x86), - }, + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( + ctx.publish_typed_artifact(pub_vmm_tests_archive_linux_x86), + ), }); } @@ -1039,11 +1016,17 @@ impl IntoPipeline for CheckinGatesCli { let (pub_vmm_tests_junit_xml, use_vmm_tests_junit_xml) = pipeline.new_artifact(format!("{label}-vmm-tests-results-junit-xml")); + let (pub_vmm_tests_nextest_list_json, use_vmm_tests_nextest_list_json) = + pipeline.new_artifact(format!("{label}-vmm-tests-results-nextest-list-json")); pipeline.force_publish_artifact(&pub_vmm_tests_results_full); pipeline.force_publish_artifact(&pub_vmm_tests_junit_xml); + pipeline.force_publish_artifact(&pub_vmm_tests_nextest_list_json); - vmm_tests_results_artifacts.push((label.to_string(), (use_vmm_tests_junit_xml))); + vmm_tests_results_artifacts.push(( + label.to_string(), + (use_vmm_tests_junit_xml, use_vmm_tests_nextest_list_json), + )); let use_vmm_tests_archive = match target { CommonTriple::X86_64_WINDOWS_MSVC => &use_vmm_tests_archive_windows_x86, @@ -1067,6 +1050,8 @@ impl IntoPipeline for CheckinGatesCli { test_artifacts, fail_job_on_test_fail: true, junit_xml_output_dir: ctx.publish_artifact(pub_vmm_tests_junit_xml), + nextest_list_json_output_dir: ctx + .publish_artifact(pub_vmm_tests_nextest_list_json), test_results_full_output_dir: ctx .publish_artifact(pub_vmm_tests_results_full), needs_prep_run, @@ -1102,15 +1087,18 @@ impl IntoPipeline for CheckinGatesCli { )) .dep_on( |ctx| flowey_lib_hvlite::_jobs::verify_all_tests_run::Request { - junit_xml_files: vmm_tests_results_artifacts + test_artifacts: vmm_tests_results_artifacts .iter() - .map(|elem| (elem.0.clone(), ctx.use_artifact(&elem.1))) + .map(|elem| { + ( + elem.0.clone(), + flowey_lib_hvlite::_jobs::verify_all_tests_run::VmmTestResultsArtifacts { + junit_xml: ctx.use_artifact(&elem.1.0), + nextest_list_json: ctx.use_artifact(&elem.1.1), + }, + ) + }) .collect(), - nextest_list_json_files: vec![ - ctx.use_typed_artifact(&use_nextest_list_json_windows_x86), - ctx.use_typed_artifact(&use_nextest_list_json_linux_x86), - ctx.use_typed_artifact(&use_nextest_list_json_windows_aarch64), - ], done: ctx.new_done_handle(), }, ) diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index 3259742d1d..fec0993557 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -54,6 +54,8 @@ flowey_request! { pub fail_job_on_test_fail: bool, /// Copy the junit xml file to the provided directory. pub junit_xml_output_dir: ReadVar, + /// Copy the nextest-list.json to the provided directory. + pub nextest_list_json_output_dir: ReadVar, /// Copy full test results (all logs, dumps, etc) to the provided directory. pub test_results_full_output_dir: ReadVar, pub done: WriteVar, @@ -91,6 +93,7 @@ impl SimpleFlowNode for Node { fail_job_on_test_fail, needs_prep_run, junit_xml_output_dir, + nextest_list_json_output_dir, test_results_full_output_dir, done, } = request; @@ -209,6 +212,23 @@ impl SimpleFlowNode for Node { let test_log_path = test_log_path.depending_on(ctx, &results); let junit_xml = results.map(ctx, |r| r.junit_xml); + let archive_file = nextest_vmm_tests_archive.map(ctx, |x| x.archive_file); + // Run_ignored option is set to true so that we can dump all the tests that were built, instead of just the ones that were run. + let nextest_list_json = ctx.reqv(|v| crate::run_cargo_nextest_list::Request { + archive_file, + nextest_bin: None, + target: None, + working_dir: None, + config_file: None, + nextest_profile: nextest_profile.as_str().to_owned(), + nextest_filter_expr: nextest_filter_expr.clone(), + run_ignored: true, + extra_env: Some(extra_env), + output_dir: test_log_path.clone(), + pre_run_deps: vec![], + output_file: v, + }); + let mut side_effects = Vec::new(); // Publish JUnit XML @@ -231,6 +251,16 @@ impl SimpleFlowNode for Node { } })); + // Publish nextest-list.json + side_effects.push(ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishNextestListJson { + nextest_list_json, + test_label: junit_test_label, + output_dir: nextest_list_json_output_dir, + done: v, + } + })); + ctx.emit_rust_step("report test results to overall pipeline status", |ctx| { side_effects.claim(ctx); done.claim(ctx); 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 1e7c2cef5e..23c6b6f0e0 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 @@ -708,10 +708,7 @@ impl SimpleFlowNode for Node { let nextest_archive = ctx.reqv(|v| crate::build_nextest_vmm_tests::Request { target: target.as_triple(), profile: CommonProfile::from_release(release), - build_mode: crate::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive { - nextest_list_json_file: None, - vmm_test_archive: v, - }, + build_mode: crate::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive(v), }); let nextest_archive_file = Path::new("vmm-tests-archive.tar.zst"); copy_to_dir.push(( diff --git a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs index 4a78a2f9bc..ecc8ef3623 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/verify_all_tests_run.rs @@ -2,7 +2,6 @@ // Licensed under the MIT License. //! Verifies that all tests that are built are run at least once over the course of an entire pipeline run. -use crate::build_nextest_vmm_tests::NextestVmmTestsList; use flowey::node::prelude::*; use quick_xml::Reader; use quick_xml::events::Event; @@ -21,10 +20,15 @@ struct Suite { testcases: HashMap, // we don't care about contents } +#[derive(Serialize, Deserialize)] +pub struct VmmTestResultsArtifacts { + pub junit_xml: ReadVar, + pub nextest_list_json: ReadVar, +} + flowey_request! { pub struct Request { - pub junit_xml_files: Vec<(String, ReadVar)>, - pub nextest_list_json_files: Vec>, + pub test_artifacts: Vec<(String, VmmTestResultsArtifacts)>, pub done: WriteVar, } } @@ -38,8 +42,7 @@ impl SimpleFlowNode for Node { fn process_request(request: Self::Request, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { let Request { - junit_xml_files, - nextest_list_json_files, + test_artifacts, done, } = request; @@ -57,50 +60,42 @@ impl SimpleFlowNode for Node { // of all tests that were run. If these sets were to differ it would be because a test was built but not run, which indicates a test gap. // We have automation in the test run step that will automatically skip tests that are not meant to run on a given host because the host does // not meet the test case requirements. For example, TDX/SNP tests are skipped on non-compatible hardware. - let junit_xml_files: Vec<_> = junit_xml_files - .into_iter() - .map(|(prefix, var)| (prefix, var.claim(ctx))) - .collect(); - let nextest_list_json_files: Vec<_> = nextest_list_json_files + let artifacts: Vec<_> = test_artifacts .into_iter() - .map(|var| var.claim(ctx)) + .map(|(prefix, artifacts)| { + ( + prefix, + artifacts.junit_xml.claim(ctx), + artifacts.nextest_list_json.claim(ctx), + ) + }) .collect(); move |rt| { let mut combined_junit_testcases: HashSet = HashSet::new(); let mut combined_nextest_testcases: HashSet = HashSet::new(); - for (prefix, junit_xml_dir_var) in junit_xml_files { - let junit_xml_dir = rt.read(junit_xml_dir_var); - println!("JUnit artifact dir: {}", junit_xml_dir.display()); - assert!( - junit_xml_dir.exists(), - "expected junit artifact dir to exist" - ); + for (prefix, junit_xml_dir, nextest_list_json_dir) in artifacts { + let junit_xml_dir = rt.read(junit_xml_dir); + let nextest_list_dir = rt.read(nextest_list_json_dir); + println!("Artifact dir: {}", junit_xml_dir.display()); + println!("Artifact dir: {}", nextest_list_dir.display()); + assert!(junit_xml_dir.exists(), "expected artifact dir to exist"); + assert!(nextest_list_dir.exists(), "expected artifact dir to exist"); - let junit_xml_path = - junit_xml_dir.join(format!("{}-vmm-tests-junit-xml.xml", prefix)); + let junit_xml = prefix.clone() + "-vmm-tests-junit-xml.xml"; + let nextest_list = prefix.clone() + "-vmm-tests-nextest-list.json"; + + let junit_xml = junit_xml_dir.clone().join(&junit_xml); + let nextest_list = nextest_list_dir.clone().join(&nextest_list); get_testcase_names_from_junit_xml( - &junit_xml_path, + &junit_xml, &mut combined_junit_testcases, )?; - } - - for nextest_list_json_file in nextest_list_json_files { - let nextest_list_json_file = rt.read(nextest_list_json_file); - let nextest_list_json_file = nextest_list_json_file.nextest_list_json; - println!( - "Nextest list artifact dir: {}", - nextest_list_json_file.display() - ); - assert!( - nextest_list_json_file.exists(), - "expected nextest list artifact dir to exist" - ); get_testcase_names_from_nextest_list_json( - &nextest_list_json_file, + &nextest_list, &mut combined_nextest_testcases, )?; } diff --git a/flowey/flowey_lib_hvlite/src/build_nextest_vmm_tests.rs b/flowey/flowey_lib_hvlite/src/build_nextest_vmm_tests.rs index dbd0b73cec..83080e5bba 100644 --- a/flowey/flowey_lib_hvlite/src/build_nextest_vmm_tests.rs +++ b/flowey/flowey_lib_hvlite/src/build_nextest_vmm_tests.rs @@ -18,15 +18,7 @@ pub struct NextestVmmTestsArchive { pub archive_file: PathBuf, } -/// Type-safe wrapper around a json file containing a list of test cases built in the nextest archive -#[derive(Serialize, Deserialize)] -pub struct NextestVmmTestsList { - #[serde(rename = "vmm_tests.json")] - pub nextest_list_json: PathBuf, -} - impl Artifact for NextestVmmTestsArchive {} -impl Artifact for NextestVmmTestsList {} /// Build mode to use when building the nextest VMM tests #[derive(Serialize, Deserialize)] @@ -53,10 +45,7 @@ pub enum BuildNextestVmmTestsMode { }, /// Build and archive the tests into a nextest archive file, which can then /// be run via [`crate::test_nextest_vmm_tests_archive`]. - Archive { - nextest_list_json_file: Option>, - vmm_test_archive: WriteVar, - }, + Archive(WriteVar), } flowey_request! { @@ -78,7 +67,6 @@ impl FlowNode for Node { fn imports(ctx: &mut ImportCtx<'_>) { ctx.import::(); ctx.import::(); - ctx.import::(); ctx.import::(); ctx.import::(); ctx.import::(); @@ -167,58 +155,25 @@ impl FlowNode for Node { results, }) } - BuildNextestVmmTestsMode::Archive { - nextest_list_json_file: nextest_list_json_write, - vmm_test_archive, - } => { + BuildNextestVmmTestsMode::Archive(unit_tests_archive) => { let openvmm_repo_path = ctx.reqv(crate::git_checkout_openvmm_repo::req::GetRepoDir); let archive_file = ctx.reqv(|v| flowey_lib_common::run_cargo_nextest_archive::Request { friendly_label: "vmm_tests".into(), - working_dir: openvmm_repo_path.clone(), + working_dir: openvmm_repo_path, build_params, pre_run_deps: ambient_deps, archive_file: v, }); - let nextest_list_json = if nextest_list_json_write.as_ref().is_some() { - Some(ctx.reqv(|v| crate::run_cargo_nextest_list::Request { - archive_file: archive_file.clone(), - nextest_bin: None, - target: None, - working_dir: None, - config_file: None, - nextest_profile: "ci".into(), - nextest_filter_expr: None, - run_ignored: true, - extra_env: None, - output_dir: openvmm_repo_path, - pre_run_deps: vec![], - output_file: v, - })) - } else { - None - }; - ctx.emit_minor_rust_step("report built vmm_tests", |ctx| { let archive_file = archive_file.claim(ctx); - let vmm_tests = vmm_test_archive.claim(ctx); - let nextest_list_json = nextest_list_json.claim(ctx); - let nextest_list_json_write = nextest_list_json_write.claim(ctx); + let unit_tests = unit_tests_archive.claim(ctx); |rt| { let archive_file = rt.read(archive_file); - let nextest_list_json = rt.read(nextest_list_json); - rt.write(vmm_tests, &NextestVmmTestsArchive { archive_file }); - if let Some(nextest_list_json) = nextest_list_json { - if let Some(nextest_list_json_write) = nextest_list_json_write { - rt.write( - nextest_list_json_write, - &NextestVmmTestsList { nextest_list_json }, - ); - } - } + rt.write(unit_tests, &NextestVmmTestsArchive { archive_file }); } }); } From 3a58241d5578152429016601f1cd38fcb467af66 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 27 Oct 2025 13:31:32 -0700 Subject: [PATCH 32/37] address feedback --- .../src/run_cargo_nextest_list.rs | 3 +-- .../src/run_cargo_nextest_list.rs | 2 +- .../src/run_cargo_nextest_run.rs | 17 ++--------------- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs index 8d2b1ed805..109bf3a73e 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_list.rs @@ -94,8 +94,7 @@ impl SimpleFlowNode for Node { let cmd = rt.read(cmd); let output_dir = rt.read(output_dir); - let (status, stdout) = - run_command(&cmd, &working_dir, /* capture_stdout: */ true)?; + let (status, stdout) = run_command(&cmd, &working_dir, true)?; if !status.success() { anyhow::bail!( diff --git a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs index aa85e6bde5..0a75f750b8 100644 --- a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs +++ b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_list.rs @@ -45,7 +45,7 @@ impl SimpleFlowNode for Node { } fn process_request(request: Self::Request, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { - let openvmm_repo_path = crate::run_cargo_nextest_run::get_openvmm_repo_path(ctx); + let openvmm_repo_path = ctx.reqv(crate::git_checkout_openvmm_repo::req::GetRepoDir); let default_nextest_config_file = crate::run_cargo_nextest_run::default_nextest_config_file( openvmm_repo_path.clone(), diff --git a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs index 675990787d..38c18819cb 100644 --- a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs @@ -11,11 +11,6 @@ use flowey_lib_common::run_cargo_nextest_run::NextestRunKind; use flowey_lib_common::run_cargo_nextest_run::TestResults; use std::collections::BTreeMap; -/// Shared helpers for resolving nextest-related paths and environment for HvLite flowey nodes. -pub fn get_openvmm_repo_path(ctx: &mut NodeCtx<'_>) -> ReadVar { - ctx.reqv(crate::git_checkout_openvmm_repo::req::GetRepoDir) -} - pub fn default_nextest_config_file( openvmm_repo_path: ReadVar, ctx: &mut NodeCtx<'_>, @@ -27,8 +22,6 @@ pub fn base_env() -> BTreeMap { [ // Used by the test_with_tracing macro in test runners ("RUST_LOG", "trace,mesh_node=info"), - // Used by the process spawned for VMM tests - ("OPENVMM_LOG", "debug,mesh_node=info"), ] .into_iter() .map(|(a, b)| (a.to_owned(), b.to_owned())) @@ -137,18 +130,12 @@ impl FlowNode for Node { } fn emit(requests: Vec, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { - let openvmm_repo_path = get_openvmm_repo_path(ctx); + let openvmm_repo_path = ctx.reqv(crate::git_checkout_openvmm_repo::req::GetRepoDir); let default_nextest_config_file = default_nextest_config_file(openvmm_repo_path.clone(), ctx); - let base_env = [ - // Used by the test_with_tracing macro in test runners - ("RUST_LOG", "trace"), - ] - .into_iter() - .map(|(a, b)| (a.to_owned(), b.to_owned())) - .collect::>(); + let base_env = base_env(); for Request { friendly_name, From 076177c83c39f6703abcd4a19c90a84be5f51a3a Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 27 Oct 2025 13:33:44 -0700 Subject: [PATCH 33/37] update base env according to main --- flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs index 38c18819cb..9104fe4f53 100644 --- a/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_hvlite/src/run_cargo_nextest_run.rs @@ -21,7 +21,7 @@ pub fn default_nextest_config_file( pub fn base_env() -> BTreeMap { [ // Used by the test_with_tracing macro in test runners - ("RUST_LOG", "trace,mesh_node=info"), + ("RUST_LOG", "trace"), ] .into_iter() .map(|(a, b)| (a.to_owned(), b.to_owned())) From 6157e8c5eadb196f1732b171619f8ba43ec7c8c3 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 27 Oct 2025 13:34:54 -0700 Subject: [PATCH 34/37] Remove unused step --- flowey/flowey_lib_common/src/run_cargo_nextest_run.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs index c5681ea3ac..9fdcce4c21 100644 --- a/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs +++ b/flowey/flowey_lib_common/src/run_cargo_nextest_run.rs @@ -131,7 +131,6 @@ impl FlowNode for Node { ctx.import::(); ctx.import::(); ctx.import::(); - ctx.import::(); ctx.import::(); } From e6d8b07941d4b8ed687a4598ec47a058befb4dd0 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 3 Nov 2025 11:15:35 -0800 Subject: [PATCH 35/37] Allow skipping artifact publishing for closed source pipelines --- .../src/pipelines/checkin_gates.rs | 12 +-- ...sume_and_test_nextest_vmm_tests_archive.rs | 87 +++++++++++-------- 2 files changed, 56 insertions(+), 43 deletions(-) diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 662c6f72e4..6a77c77151 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -1096,11 +1096,13 @@ impl IntoPipeline for CheckinGatesCli { dep_artifact_dirs: resolve_vmm_tests_artifacts(ctx), test_artifacts, fail_job_on_test_fail: true, - junit_xml_output_dir: ctx.publish_artifact(pub_vmm_tests_junit_xml), - nextest_list_json_output_dir: ctx - .publish_artifact(pub_vmm_tests_nextest_list_json), - test_results_full_output_dir: ctx - .publish_artifact(pub_vmm_tests_results_full), + artifacts_to_publish: Some( + flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive::VmmTestsPublishArtifacts { + junit_xml: ctx.publish_artifact(pub_vmm_tests_junit_xml), + nextest_list_json: ctx.publish_artifact(pub_vmm_tests_nextest_list_json), + test_logs_dir: ctx.publish_artifact(pub_vmm_tests_results_full), + } + ), needs_prep_run, done: ctx.new_done_handle(), } diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index b8a7962f13..14b43dbedc 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -34,6 +34,13 @@ pub struct VmmTestsDepArtifacts { pub tpm_guest_tests_linux: Option>, } +#[derive(Serialize, Deserialize)] +pub struct VmmTestsPublishArtifacts { + pub junit_xml: ReadVar, + pub nextest_list_json: ReadVar, + pub test_logs_dir: ReadVar, +} + flowey_request! { pub struct Params { /// Friendly label for report JUnit test results @@ -55,12 +62,7 @@ flowey_request! { /// Whether the job should fail if any test has failed pub fail_job_on_test_fail: bool, - /// Copy the junit xml file to the provided directory. - pub junit_xml_output_dir: ReadVar, - /// Copy the nextest-list.json to the provided directory. - pub nextest_list_json_output_dir: ReadVar, - /// Copy full test results (all logs, dumps, etc) to the provided directory. - pub test_results_full_output_dir: ReadVar, + pub artifacts_to_publish: Option, pub done: WriteVar, } } @@ -95,9 +97,7 @@ impl SimpleFlowNode for Node { test_artifacts, fail_job_on_test_fail, needs_prep_run, - junit_xml_output_dir, - nextest_list_json_output_dir, - test_results_full_output_dir, + artifacts_to_publish, done, } = request; @@ -238,35 +238,46 @@ impl SimpleFlowNode for Node { let mut side_effects = Vec::new(); - // Publish JUnit XML - side_effects.push(ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishJunitXml { - junit_xml, - test_label: junit_test_label.clone(), - output_dir: Some(junit_xml_output_dir), - done: v, - } - })); - - // Publish test logs - side_effects.push(ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishTestLogs { - test_label: junit_test_label.clone(), - attachments: BTreeMap::from([("logs".to_string(), (test_log_path, false))]), - output_dir: test_results_full_output_dir, - done: v, - } - })); - - // Publish nextest-list.json - side_effects.push(ctx.reqv(|v| { - flowey_lib_common::publish_test_results::Request::PublishNextestListJson { - nextest_list_json, - test_label: junit_test_label, - output_dir: nextest_list_json_output_dir, - done: v, - } - })); + if let Some(artifacts_to_publish) = artifacts_to_publish { + let VmmTestsPublishArtifacts { + junit_xml: junit_xml_output_dir, + nextest_list_json: nextest_list_json_output_dir, + test_logs_dir: test_results_full_output_dir, + } = artifacts_to_publish; + + // Publish JUnit XML + side_effects.push(ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishJunitXml { + junit_xml: junit_xml.clone(), + test_label: junit_test_label.clone(), + output_dir: Some(junit_xml_output_dir), + done: v, + } + })); + + // Publish test logs + side_effects.push(ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishTestLogs { + test_label: junit_test_label.clone(), + attachments: BTreeMap::from([( + "logs".to_string(), + (test_log_path.clone(), false), + )]), + output_dir: test_results_full_output_dir, + done: v, + } + })); + + // Publish nextest-list.json + side_effects.push(ctx.reqv(|v| { + flowey_lib_common::publish_test_results::Request::PublishNextestListJson { + nextest_list_json: nextest_list_json.clone(), + test_label: junit_test_label.clone(), + output_dir: nextest_list_json_output_dir, + done: v, + } + })); + } ctx.emit_rust_step("report test results to overall pipeline status", |ctx| { side_effects.claim(ctx); From 553c0d6207d1077fe231e2f1e88a6f280ec08426 Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Mon, 3 Nov 2025 12:29:53 -0800 Subject: [PATCH 36/37] Missing conversions for closed source fixup --- .../src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs index 14b43dbedc..07490e7f25 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs @@ -277,6 +277,10 @@ impl SimpleFlowNode for Node { done: v, } })); + } else { + side_effects.push(test_log_path.into_side_effect()); + side_effects.push(nextest_list_json.into_side_effect()); + side_effects.push(junit_xml.into_side_effect()); } ctx.emit_rust_step("report test results to overall pipeline status", |ctx| { From 3ab3b8b056c5e534e149dab380fab7631558806a Mon Sep 17 00:00:00 2001 From: Daman Mulye Date: Tue, 4 Nov 2025 09:35:24 -0800 Subject: [PATCH 37/37] Remove warnings from GH --- .github/workflows/openvmm-ci.yaml | 384 ++++++++---------- .github/workflows/openvmm-pr-release.yaml | 384 ++++++++---------- .github/workflows/openvmm-pr.yaml | 384 ++++++++---------- .../src/publish_test_results.rs | 17 +- 4 files changed, 541 insertions(+), 628 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 6de4565e54..98de48fea6 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -1895,14 +1895,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1926,14 +1926,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1964,14 +1964,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 16 - flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2000,14 +2000,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2020,7 +2020,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2028,7 +2028,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2055,22 +2055,16 @@ jobs: flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 16 flowey_lib_common::publish_test_results 4 - flowey.exe e 16 flowey_lib_common::publish_test_results 5 - flowey.exe v 16 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 16 flowey_lib_common::publish_test_results 0 flowey.exe e 16 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 @@ -2079,14 +2073,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2109,7 +2103,9 @@ jobs: run: flowey.exe e 16 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-intel-vmm-tests' - run: flowey.exe e 16 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 3 + flowey.exe e 16 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2232,14 +2228,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2263,14 +2259,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2301,14 +2297,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 16 - flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2337,14 +2333,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2357,7 +2353,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2365,7 +2361,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2397,22 +2393,16 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 17 flowey_lib_common::publish_test_results 4 - flowey.exe e 17 flowey_lib_common::publish_test_results 5 - flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 17 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 2 @@ -2421,14 +2411,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2451,7 +2441,9 @@ jobs: run: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-intel-tdx-vmm-tests' - run: flowey.exe e 17 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 3 + flowey.exe e 17 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2572,14 +2564,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 0 - flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2603,14 +2595,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 12 - flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2641,14 +2633,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 16 - flowey.exe v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2677,14 +2669,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 4 - flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2697,7 +2689,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 18 flowey_lib_common::git_checkout 0 - flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2705,7 +2697,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2732,22 +2724,16 @@ jobs: flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 18 flowey_lib_common::publish_test_results 4 - flowey.exe e 18 flowey_lib_common::publish_test_results 5 - flowey.exe v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 18 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 6 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 18 flowey_lib_common::publish_test_results 0 flowey.exe e 18 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + run: |- flowey.exe e 18 flowey_lib_common::publish_test_results 2 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 @@ -2756,14 +2742,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 8 - flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2786,7 +2772,9 @@ jobs: run: flowey.exe e 18 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-amd-vmm-tests' - run: flowey.exe e 18 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 3 + flowey.exe e 18 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2909,14 +2897,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2940,14 +2928,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2978,14 +2966,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 16 - flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3014,14 +3002,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3034,7 +3022,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3042,7 +3030,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3074,22 +3062,16 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 19 flowey_lib_common::publish_test_results 4 - flowey.exe e 19 flowey_lib_common::publish_test_results 5 - flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 19 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 @@ -3098,14 +3080,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3128,7 +3110,9 @@ jobs: run: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-amd-snp-vmm-tests' - run: flowey.exe e 19 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 3 + flowey.exe e 19 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -3450,14 +3434,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 0 - flowey v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -3487,14 +3471,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 12 - flowey v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3525,14 +3509,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 16 - flowey v 20 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey v 20 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey v 20 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey v 20 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3564,14 +3548,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 4 - flowey v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3584,7 +3568,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 20 flowey_lib_common::git_checkout 0 - flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3592,7 +3576,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3619,22 +3603,16 @@ jobs: flowey e 20 flowey_lib_common::run_cargo_nextest_run 1 flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 20 flowey_lib_common::publish_test_results 4 - flowey e 20 flowey_lib_common::publish_test_results 5 - flowey v 20 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey v 20 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-linux-vmm-tests (logs)' run: |- + flowey e 20 flowey_lib_common::publish_test_results 6 flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 20 flowey_lib_common::publish_test_results 0 flowey e 20 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + run: |- flowey e 20 flowey_lib_common::publish_test_results 2 flowey e 20 flowey_lib_common::download_cargo_nextest 1 flowey e 20 flowey_lib_common::download_cargo_nextest 2 @@ -3643,14 +3621,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 8 - flowey v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3673,7 +3651,9 @@ jobs: run: flowey e 20 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-linux-vmm-tests' - run: flowey e 20 flowey_lib_common::publish_test_results 3 + run: |- + flowey e 20 flowey_lib_common::publish_test_results 3 + flowey e 20 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -3839,14 +3819,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3870,14 +3850,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 12 - flowey.exe v 21 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 21 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 21 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 21 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3908,14 +3888,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 16 - flowey.exe v 21 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 21 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 21 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 21 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3944,14 +3924,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 4 - flowey.exe v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3964,7 +3944,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 21 flowey_lib_common::git_checkout 0 - flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3972,7 +3952,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3999,22 +3979,16 @@ jobs: flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 21 flowey_lib_common::publish_test_results 4 - flowey.exe e 21 flowey_lib_common::publish_test_results 5 - flowey.exe v 21 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 21 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'publish test results: aarch64-windows-vmm-tests (logs)' run: |- + flowey.exe e 21 flowey_lib_common::publish_test_results 6 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 21 flowey_lib_common::publish_test_results 0 flowey.exe e 21 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + run: |- flowey.exe e 21 flowey_lib_common::publish_test_results 2 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 @@ -4023,14 +3997,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 21 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -4053,7 +4027,9 @@ jobs: run: flowey.exe e 21 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: aarch64-windows-vmm-tests' - run: flowey.exe e 21 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 21 flowey_lib_common::publish_test_results 3 + flowey.exe e 21 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 8c7bdb3580..03ae37b94d 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -1904,14 +1904,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 0 - flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -1935,14 +1935,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 12 - flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -1973,14 +1973,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 16 - flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 16 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 16 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2009,14 +2009,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 4 - flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2029,7 +2029,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 16 flowey_lib_common::git_checkout 0 - flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2037,7 +2037,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2064,22 +2064,16 @@ jobs: flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 16 flowey_lib_common::publish_test_results 4 - flowey.exe e 16 flowey_lib_common::publish_test_results 5 - flowey.exe v 16 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 6 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 16 flowey_lib_common::publish_test_results 0 flowey.exe e 16 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + run: |- flowey.exe e 16 flowey_lib_common::publish_test_results 2 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 @@ -2088,14 +2082,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 16 flowey_lib_common::cache 8 - flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2118,7 +2112,9 @@ jobs: run: flowey.exe e 16 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-intel-vmm-tests' - run: flowey.exe e 16 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 16 flowey_lib_common::publish_test_results 3 + flowey.exe e 16 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2241,14 +2237,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 0 - flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2272,14 +2268,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 12 - flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2310,14 +2306,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 16 - flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 17 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 17 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2346,14 +2342,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 4 - flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2366,7 +2362,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 17 flowey_lib_common::git_checkout 0 - flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2374,7 +2370,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2406,22 +2402,16 @@ jobs: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 17 flowey_lib_common::publish_test_results 4 - flowey.exe e 17 flowey_lib_common::publish_test_results 5 - flowey.exe v 17 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 17 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 6 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 17 flowey_lib_common::publish_test_results 0 flowey.exe e 17 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + run: |- flowey.exe e 17 flowey_lib_common::publish_test_results 2 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 2 @@ -2430,14 +2420,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 17 flowey_lib_common::cache 8 - flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2460,7 +2450,9 @@ jobs: run: flowey.exe e 17 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-intel-tdx-vmm-tests' - run: flowey.exe e 17 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 17 flowey_lib_common::publish_test_results 3 + flowey.exe e 17 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2581,14 +2573,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 0 - flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2612,14 +2604,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 12 - flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2650,14 +2642,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 16 - flowey.exe v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2686,14 +2678,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 4 - flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2706,7 +2698,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 18 flowey_lib_common::git_checkout 0 - flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2714,7 +2706,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2741,22 +2733,16 @@ jobs: flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 18 flowey_lib_common::publish_test_results 4 - flowey.exe e 18 flowey_lib_common::publish_test_results 5 - flowey.exe v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 18 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 6 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 18 flowey_lib_common::publish_test_results 0 flowey.exe e 18 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + run: |- flowey.exe e 18 flowey_lib_common::publish_test_results 2 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 @@ -2765,14 +2751,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 8 - flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2795,7 +2781,9 @@ jobs: run: flowey.exe e 18 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-amd-vmm-tests' - run: flowey.exe e 18 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 3 + flowey.exe e 18 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2918,14 +2906,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2949,14 +2937,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2987,14 +2975,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 16 - flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3023,14 +3011,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3043,7 +3031,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3051,7 +3039,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3083,22 +3071,16 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 19 flowey_lib_common::publish_test_results 4 - flowey.exe e 19 flowey_lib_common::publish_test_results 5 - flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 19 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 @@ -3107,14 +3089,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3137,7 +3119,9 @@ jobs: run: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-amd-snp-vmm-tests' - run: flowey.exe e 19 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 3 + flowey.exe e 19 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -3459,14 +3443,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 0 - flowey v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -3496,14 +3480,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 12 - flowey v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3534,14 +3518,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 16 - flowey v 20 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey v 20 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey v 20 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey v 20 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3573,14 +3557,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 4 - flowey v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3593,7 +3577,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 20 flowey_lib_common::git_checkout 0 - flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3601,7 +3585,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3628,22 +3612,16 @@ jobs: flowey e 20 flowey_lib_common::run_cargo_nextest_run 1 flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 20 flowey_lib_common::publish_test_results 4 - flowey e 20 flowey_lib_common::publish_test_results 5 - flowey v 20 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey v 20 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-linux-vmm-tests (logs)' run: |- + flowey e 20 flowey_lib_common::publish_test_results 6 flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 20 flowey_lib_common::publish_test_results 0 flowey e 20 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + run: |- flowey e 20 flowey_lib_common::publish_test_results 2 flowey e 20 flowey_lib_common::download_cargo_nextest 1 flowey e 20 flowey_lib_common::download_cargo_nextest 2 @@ -3652,14 +3630,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 20 flowey_lib_common::cache 8 - flowey v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3682,7 +3660,9 @@ jobs: run: flowey e 20 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-linux-vmm-tests' - run: flowey e 20 flowey_lib_common::publish_test_results 3 + run: |- + flowey e 20 flowey_lib_common::publish_test_results 3 + flowey e 20 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -3848,14 +3828,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3879,14 +3859,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 12 - flowey.exe v 21 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 21 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 21 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 21 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3917,14 +3897,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 16 - flowey.exe v 21 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 21 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 21 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 21 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3953,14 +3933,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 4 - flowey.exe v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3973,7 +3953,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 21 flowey_lib_common::git_checkout 0 - flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3981,7 +3961,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -4008,22 +3988,16 @@ jobs: flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 21 flowey_lib_common::publish_test_results 4 - flowey.exe e 21 flowey_lib_common::publish_test_results 5 - flowey.exe v 21 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 21 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'publish test results: aarch64-windows-vmm-tests (logs)' run: |- + flowey.exe e 21 flowey_lib_common::publish_test_results 6 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 21 flowey_lib_common::publish_test_results 0 flowey.exe e 21 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + run: |- flowey.exe e 21 flowey_lib_common::publish_test_results 2 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 @@ -4032,14 +4006,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 21 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -4062,7 +4036,9 @@ jobs: run: flowey.exe e 21 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: aarch64-windows-vmm-tests' - run: flowey.exe e 21 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 21 flowey_lib_common::publish_test_results 3 + flowey.exe e 21 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 6b3c8661a5..35be4dcec7 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -2570,14 +2570,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 0 - flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2601,14 +2601,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 12 - flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2639,14 +2639,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 16 - flowey.exe v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 18 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 18 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2675,14 +2675,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 4 - flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2695,7 +2695,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 18 flowey_lib_common::git_checkout 0 - flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2703,7 +2703,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2730,22 +2730,16 @@ jobs: flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 18 flowey_lib_common::publish_test_results 4 - flowey.exe e 18 flowey_lib_common::publish_test_results 5 - flowey.exe v 18 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 18 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-vmm-tests (logs)' run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 6 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 18 flowey_lib_common::publish_test_results 0 flowey.exe e 18 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-intel-vmm-tests (JUnit XML)' + run: |- flowey.exe e 18 flowey_lib_common::publish_test_results 2 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 @@ -2754,14 +2748,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 18 flowey_lib_common::cache 8 - flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2784,7 +2778,9 @@ jobs: run: flowey.exe e 18 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-intel-vmm-tests' - run: flowey.exe e 18 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 18 flowey_lib_common::publish_test_results 3 + flowey.exe e 18 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -2907,14 +2903,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -2938,14 +2934,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 12 - flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -2976,14 +2972,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 16 - flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 19 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 19 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3012,14 +3008,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 19 flowey_lib_common::cache 4 - flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3032,7 +3028,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 19 flowey_lib_common::git_checkout 0 - flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3040,7 +3036,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3072,22 +3068,16 @@ jobs: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 19 flowey_lib_common::publish_test_results 4 - flowey.exe e 19 flowey_lib_common::publish_test_results 5 - flowey.exe v 19 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 19 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-intel-tdx-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 6 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 19 flowey_lib_common::publish_test_results 0 flowey.exe e 19 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-intel-tdx-vmm-tests (JUnit XML)' + run: |- flowey.exe e 19 flowey_lib_common::publish_test_results 2 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 @@ -3096,14 +3086,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3126,7 +3116,9 @@ jobs: run: flowey.exe e 19 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-intel-tdx-vmm-tests' - run: flowey.exe e 19 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 19 flowey_lib_common::publish_test_results 3 + flowey.exe e 19 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -3461,14 +3453,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3492,14 +3484,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 12 - flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 20 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 20 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3530,14 +3522,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 16 - flowey.exe v 20 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 20 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 20 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 20 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3566,14 +3558,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 20 flowey_lib_common::cache 4 - flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3586,7 +3578,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 20 flowey_lib_common::git_checkout 0 - flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3594,7 +3586,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3621,22 +3613,16 @@ jobs: flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 20 flowey_lib_common::publish_test_results 4 - flowey.exe e 20 flowey_lib_common::publish_test_results 5 - flowey.exe v 20 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 20 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-vmm-tests (logs)' run: |- + flowey.exe e 20 flowey_lib_common::publish_test_results 6 flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 20 flowey_lib_common::publish_test_results 0 flowey.exe e 20 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-amd-vmm-tests (JUnit XML)' + run: |- flowey.exe e 20 flowey_lib_common::publish_test_results 2 flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 @@ -3645,14 +3631,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3675,7 +3661,9 @@ jobs: run: flowey.exe e 20 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-amd-vmm-tests' - run: flowey.exe e 20 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 20 flowey_lib_common::publish_test_results 3 + flowey.exe e 20 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -3798,14 +3786,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -3829,14 +3817,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 12 - flowey.exe v 21 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 21 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 21 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 21 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -3867,14 +3855,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 16 - flowey.exe v 21 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 21 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 21 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 21 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -3903,14 +3891,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 21 flowey_lib_common::cache 4 - flowey.exe v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -3923,7 +3911,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 21 flowey_lib_common::git_checkout 0 - flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -3931,7 +3919,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -3963,22 +3951,16 @@ jobs: flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 21 flowey_lib_common::publish_test_results 4 - flowey.exe e 21 flowey_lib_common::publish_test_results 5 - flowey.exe v 21 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 21 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-windows-amd-snp-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' run: |- + flowey.exe e 21 flowey_lib_common::publish_test_results 6 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 21 flowey_lib_common::publish_test_results 0 flowey.exe e 21 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-windows-amd-snp-vmm-tests (JUnit XML)' + run: |- flowey.exe e 21 flowey_lib_common::publish_test_results 2 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 @@ -3987,14 +3969,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 21 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -4017,7 +3999,9 @@ jobs: run: flowey.exe e 21 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-windows-amd-snp-vmm-tests' - run: flowey.exe e 21 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 21 flowey_lib_common::publish_test_results 3 + flowey.exe e 21 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -4125,14 +4109,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 22 flowey_lib_common::cache 0 - flowey v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3 - flowey v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: checking if packages need to be installed run: |- @@ -4162,14 +4146,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 22 flowey_lib_common::cache 12 - flowey v 22 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey v 22 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey v 22 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 22 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -4200,14 +4184,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 22 flowey_lib_common::cache 16 - flowey v 22 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey v 22 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey v 22 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey v 22 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -4239,14 +4223,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 22 flowey_lib_common::cache 4 - flowey v 22 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 22 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 22 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey v 22 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -4259,7 +4243,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 22 flowey_lib_common::git_checkout 0 - flowey v 22 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey v 22 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey v 22 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -4267,7 +4251,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -4294,22 +4278,16 @@ jobs: flowey e 22 flowey_lib_common::run_cargo_nextest_run 1 flowey e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey e 22 flowey_lib_common::publish_test_results 4 - flowey e 22 flowey_lib_common::publish_test_results 5 - flowey v 22 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey v 22 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: x64-linux-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + - name: 'publish test results: x64-linux-vmm-tests (logs)' run: |- + flowey e 22 flowey_lib_common::publish_test_results 6 flowey e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey e 22 flowey_lib_common::publish_test_results 0 flowey e 22 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: x64-linux-vmm-tests (JUnit XML)' + run: |- flowey e 22 flowey_lib_common::publish_test_results 2 flowey e 22 flowey_lib_common::download_cargo_nextest 1 flowey e 22 flowey_lib_common::download_cargo_nextest 2 @@ -4318,14 +4296,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 22 flowey_lib_common::cache 8 - flowey v 22 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 22 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 22 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 22 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -4348,7 +4326,9 @@ jobs: run: flowey e 22 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: x64-linux-vmm-tests' - run: flowey e 22 flowey_lib_common::publish_test_results 3 + run: |- + flowey e 22 flowey_lib_common::publish_test_results 3 + flowey e 22 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 @@ -4514,14 +4494,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v4 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: azcopy' - name: installing azcopy run: |- @@ -4545,14 +4525,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 23 flowey_lib_common::cache 12 - flowey.exe v 23 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 - flowey.exe v 23 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 23 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 23 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__13 uses: actions/cache@v4 with: - key: ${{ env.floweyvar9 }} - path: ${{ env.floweyvar10 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-cli' - name: installing gh run: |- @@ -4583,14 +4563,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 23 flowey_lib_common::cache 16 - flowey.exe v 23 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar11 - flowey.exe v 23 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar12 + flowey.exe v 23 'flowey_lib_common::cache:34:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 + flowey.exe v 23 'flowey_lib_common::cache:33:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 shell: bash - id: flowey_lib_common__cache__17 uses: actions/cache@v4 with: - key: ${{ env.floweyvar11 }} - path: ${{ env.floweyvar12 }} + key: ${{ env.floweyvar10 }} + path: ${{ env.floweyvar11 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -4619,14 +4599,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey.exe e 23 flowey_lib_common::cache 4 - flowey.exe v 23 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey.exe v 23 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 23 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 23 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v4 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -4639,7 +4619,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey.exe e 23 flowey_lib_common::git_checkout 0 - flowey.exe v 23 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar2 + flowey.exe v 23 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 flowey.exe v 23 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -4647,7 +4627,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar2 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -4674,22 +4654,16 @@ jobs: flowey.exe e 23 flowey_lib_common::run_cargo_nextest_run 1 flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey.exe e 23 flowey_lib_common::publish_test_results 4 - flowey.exe e 23 flowey_lib_common::publish_test_results 5 - flowey.exe v 23 'flowey_lib_common::publish_test_results:8:flowey_lib_common/src/publish_test_results.rs:151:70' --is-raw-string --condvar flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65 write-to-env github floweyvar1 - flowey.exe v 23 'flowey_lib_common::publish_test_results:6:flowey_lib_common/src/publish_test_results.rs:143:65' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__6 - uses: actions/upload-artifact@v4 - with: - name: aarch64-windows-vmm-tests-logs - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-vmm-tests (logs)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + - name: 'publish test results: aarch64-windows-vmm-tests (logs)' run: |- + flowey.exe e 23 flowey_lib_common::publish_test_results 6 flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 23 flowey_lib_common::publish_test_results 0 flowey.exe e 23 flowey_lib_common::publish_test_results 1 + shell: bash + - name: 'copy test results to artifact directory: aarch64-windows-vmm-tests (JUnit XML)' + run: |- flowey.exe e 23 flowey_lib_common::publish_test_results 2 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2 @@ -4698,14 +4672,14 @@ jobs: - 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:407:72' --is-raw-string write-to-env github floweyvar7 - flowey.exe v 23 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 23 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey.exe v 23 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__9 uses: actions/cache@v4 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -4728,7 +4702,9 @@ jobs: run: flowey.exe e 23 flowey_lib_common::run_cargo_nextest_list 0 shell: bash - name: 'copy nextest-list.json to artifact directory: aarch64-windows-vmm-tests' - run: flowey.exe e 23 flowey_lib_common::publish_test_results 3 + run: |- + flowey.exe e 23 flowey_lib_common::publish_test_results 3 + flowey.exe e 23 flowey_lib_common::publish_test_results 5 shell: bash - name: report test results to overall pipeline status run: flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 diff --git a/flowey/flowey_lib_common/src/publish_test_results.rs b/flowey/flowey_lib_common/src/publish_test_results.rs index d0c8113ee0..0ab544a533 100644 --- a/flowey/flowey_lib_common/src/publish_test_results.rs +++ b/flowey/flowey_lib_common/src/publish_test_results.rs @@ -151,7 +151,6 @@ impl FlowNode for Node { let attachment_path_string = attachment_path.map(ctx, |p| { p.absolute().expect("invalid path").display().to_string() }); - match ctx.backend() { FlowBackend::Ado => { if publish_on_ado { @@ -192,21 +191,7 @@ impl FlowNode for Node { .push(attachment_path_string.into_side_effect()); } } - FlowBackend::Github => { - // Note: usually flowey's built-in artifact publishing API should be used instead of this, - // but here we need to manually upload the artifact so that we can attach a condition. - use_side_effects.push( - ctx.emit_gh_step( - step_name.clone(), - "actions/upload-artifact@v4", - ) - .condition(attachment_exists) - .with("name", artifact_name) - .with("path", attachment_path_string) - .finish(ctx), - ); - } - FlowBackend::Local => { + FlowBackend::Local | FlowBackend::Github => { use_side_effects.push(ctx.emit_rust_step(step_name, |ctx| { let output_dir = output_dir.clone().claim(ctx); let attachment_exists = attachment_exists.claim(ctx);