From f694032b4668787aa4c028f2a3c1eea38b59ec76 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Fri, 1 May 2026 12:02:30 -0400 Subject: [PATCH 01/14] redo --- .github/workflows/openvmm-ci.yaml | 6180 ++++++++-------- .github/workflows/openvmm-pr-release.yaml | 6352 +++++++++-------- .github/workflows/openvmm-pr.yaml | 5751 ++++++++------- ci-flowey/openvmm-pr.yaml | 2969 ++++---- .../src/pipelines/checkin_gates.rs | 258 +- 5 files changed, 11685 insertions(+), 9825 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index c9bba15cef..80f5a39e62 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -345,11 +345,11 @@ jobs: run: flowey e 1 flowey_lib_common::cache 3 shell: bash job10: - name: clippy [x64-windows], unit tests [x64-windows] + name: build openhcl [aarch64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 - - 1ES.ImageOverride=win-amd64 + - 1ES.ImageOverride=ubuntu2404-amd64 - JobId=job10-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} permissions: contents: read @@ -389,11 +389,11 @@ jobs: - name: Build flowey run: | set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH @@ -406,7 +406,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -414,205 +414,244 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 10 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 10 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 10 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 10 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 10 'verbose' update + cat <<'EOF' | flowey v 10 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" | flowey v 10 'artifact_publish_from_aarch64-openhcl-baseline' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update + shell: bash + - name: checking if packages need to be installed + run: flowey e 10 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 10 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 10 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey e 10 flowey_lib_common::cache 0 + flowey v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey 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@v5 + with: + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey v 10 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -1026,7 +1110,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -1034,308 +1118,209 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 12 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 12 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 12 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 12 'verbose' update + cat <<'EOF' | flowey.exe v 12 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 12 flowey_lib_common::install_rust 0 + run: flowey.exe e 12 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 12 flowey_lib_common::install_rust 1 + run: flowey.exe e 12 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 12 flowey_lib_common::install_rust 2 - flowey e 12 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 12 flowey_lib_common::install_rust 2 + flowey.exe e 12 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 12 flowey_lib_common::git_checkout 0 + flowey.exe v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 12 '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 @@ -1392,7 +1377,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -1400,209 +1385,295 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 13 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 13 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 13 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 13 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 13 'verbose' update + cat <<'EOF' | flowey v 13 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey.exe e 13 flowey_lib_common::install_rust 0 + run: flowey e 13 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 13 flowey_lib_common::install_rust 1 + run: flowey e 13 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 13 flowey_lib_common::install_rust 2 - flowey.exe e 13 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 13 flowey_lib_common::install_rust 2 + flowey e 13 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar7 }} + persist-credentials: ${{ env.floweyvar9 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 13 '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 @@ -1687,16 +1758,10 @@ jobs: flowey e 14 flowey_lib_common::install_rust 2 flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - - name: checking if packages need to be installed - run: flowey e 14 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 14 flowey_lib_common::install_dist_pkg 1 - shell: bash - name: check if openvmm needs to be cloned run: |- flowey e 14 flowey_lib_common::git_checkout 0 - flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1704,7 +1769,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar9 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1714,9 +1779,13 @@ jobs: EOF flowey e 14 flowey_lib_common::git_checkout 3 flowey e 14 flowey_lib_hvlite::git_checkout_openvmm_repo 0 + flowey e 14 flowey_lib_hvlite::cfg_openvmm_magicpath 0 shell: bash - - name: set '-Dwarnings' in .cargo/config.toml - run: flowey e 14 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 + - name: checking if packages need to be installed + run: flowey e 14 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 14 flowey_lib_common::install_dist_pkg 1 shell: bash - name: create gh-release-download cache dir run: flowey e 14 flowey_lib_common::download_gh_release 0 @@ -1724,14 +1793,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 14 flowey_lib_common::cache 4 - flowey v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v5 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1741,17 +1810,37 @@ jobs: flowey e 14 flowey_lib_common::cache 6 flowey e 14 flowey_lib_common::download_gh_release 1 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 14 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract X86_64 sysroot.tar.gz + run: flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + shell: bash + - name: set '-Dwarnings' in .cargo/config.toml + run: flowey e 14 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 + shell: bash - name: unpack protoc - run: |- - flowey e 14 flowey_lib_common::resolve_protoc 0 - flowey e 14 flowey_lib_hvlite::cfg_openvmm_magicpath 0 + run: flowey e 14 flowey_lib_common::resolve_protoc 0 shell: bash - name: symlink protoc run: |- flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 14 flowey_lib_hvlite::init_cross_build 0 flowey e 14 flowey_lib_hvlite::init_cross_build 2 shell: bash + - name: cargo clippy + run: flowey e 14 flowey_lib_common::run_cargo_clippy 4 + shell: bash + - name: cargo clippy + run: flowey e 14 flowey_lib_common::run_cargo_clippy 1 + shell: bash + - name: cargo clippy + run: flowey e 14 flowey_lib_common::run_cargo_clippy 6 + shell: bash + - name: cargo clippy + run: |- + flowey e 14 flowey_lib_common::run_cargo_clippy 5 + flowey e 14 flowey_lib_hvlite::init_cross_build 0 + shell: bash - name: cargo build xtask run: |- flowey e 14 flowey_lib_common::run_cargo_build 0 @@ -1775,9 +1864,6 @@ jobs: - name: cargo clippy run: flowey e 14 flowey_lib_common::run_cargo_clippy 3 shell: bash - - name: cargo clippy - run: flowey e 14 flowey_lib_common::run_cargo_clippy 1 - shell: bash - name: create cargo-nextest cache dir run: |- flowey e 14 flowey_lib_common::download_cargo_nextest 0 @@ -1788,14 +1874,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 14 flowey_lib_common::cache 0 - flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v5 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1811,17 +1897,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 14 flowey_lib_common::install_cargo_nextest 0 - flowey e 14 flowey_lib_hvlite::init_cross_build 1 + flowey e 14 flowey_lib_hvlite::init_cross_build 3 flowey e 14 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'unit-tests crypto (openssl)' nextest tests + - name: run 'unit-tests crypto (none)' nextest tests run: |- - flowey e 14 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 14 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 14 flowey_lib_common::publish_test_results 5 flowey e 14 flowey_lib_common::publish_test_results 6 flowey e 14 flowey_lib_common::publish_test_results 4 @@ -1831,18 +1917,18 @@ jobs: - id: flowey_lib_common__publish_test_results__7 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (none)-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (none) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'unit-tests crypto (all)' nextest tests + - name: run 'unit-tests crypto (openssl)' nextest tests run: |- - flowey e 14 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 14 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 14 flowey_lib_common::publish_test_results 8 flowey e 14 flowey_lib_common::publish_test_results 9 flowey e 14 flowey_lib_common::publish_test_results 10 @@ -1852,33 +1938,18 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (all)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 14 flowey_lib_hvlite::init_cross_build 3 - flowey e 14 flowey_lib_common::run_cargo_build 1 - flowey e 14 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 14 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 14 flowey_lib_hvlite::run_cargo_build 3 - flowey e 14 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 0 - shell: bash - name: generate nextest command run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'unit-tests' nextest tests + - name: run 'unit-tests crypto (symcrypt)' nextest tests run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 6 flowey e 14 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 14 flowey_lib_common::publish_test_results 12 flowey e 14 flowey_lib_common::publish_test_results 13 flowey e 14 flowey_lib_common::publish_test_results 14 @@ -1888,18 +1959,54 @@ jobs: - id: flowey_lib_common__publish_test_results__15 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'unit-tests crypto (none)' nextest tests + - name: run 'unit-tests crypto (all)' nextest tests run: |- - flowey e 14 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 14 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 14 flowey_lib_common::publish_test_results 16 + flowey e 14 flowey_lib_common::publish_test_results 17 + flowey e 14 flowey_lib_common::publish_test_results 18 + flowey v 14 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5 + flowey v 14 'flowey_lib_common::publish_test_results:28: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__19 + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml + path: ${{ env.floweyvar5 }} + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: cargo build xtask + run: |- + flowey e 14 flowey_lib_hvlite::init_cross_build 1 + flowey e 14 flowey_lib_common::run_cargo_build 1 + flowey e 14 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 14 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 14 flowey_lib_hvlite::run_cargo_build 3 + flowey e 14 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 0 + shell: bash + - name: generate nextest command + run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + shell: bash + - name: run 'unit-tests' nextest tests + run: |- + flowey e 14 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 14 flowey_lib_common::publish_test_results 0 flowey e 14 flowey_lib_common::publish_test_results 1 flowey e 14 flowey_lib_common::publish_test_results 2 @@ -1909,16 +2016,16 @@ jobs: - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (none)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (none) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - - name: run doctests for aarch64-unknown-linux-gnu + - name: run doctests for x86_64-unknown-linux-musl run: flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 shell: bash - name: 'validate cache entry: cargo-nextest' @@ -1928,11 +2035,11 @@ jobs: run: flowey e 14 flowey_lib_common::cache 7 shell: bash job15: - name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] + name: clippy [aarch64-windows], unit tests [aarch64-windows] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-arm-westus2 - - 1ES.ImageOverride=ubuntu2404-arm64 + - 1ES.ImageOverride=win-arm64 - JobId=job15-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} permissions: contents: read @@ -1972,11 +2079,11 @@ jobs: - name: Build flowey run: | set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH @@ -1989,7 +2096,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -1997,144 +2104,741 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 15 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 15 'verbose' update + cat <<'EOF' | flowey.exe v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 15 flowey_lib_common::install_rust 0 + run: flowey.exe e 15 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 15 flowey_lib_common::install_rust 1 + run: flowey.exe e 15 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 15 flowey_lib_common::install_rust 2 - flowey e 15 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 15 flowey_lib_common::install_rust 2 + flowey.exe e 15 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 15 flowey_lib_common::git_checkout 0 - flowey v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 15 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + + echo '"debug"' | flowey v 16 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 16 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 16 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: add default cargo home to path + run: flowey e 16 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey e 16 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey e 16 flowey_lib_common::install_rust 2 + flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: checking if packages need to be installed + run: flowey e 16 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 16 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 16 flowey_lib_common::git_checkout 0 + flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar9 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 16 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + + echo '"debug"' | flowey v 17 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 17 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: add default cargo home to path + run: flowey e 17 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey e 17 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey e 17 flowey_lib_common::install_rust 2 + flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 17 flowey_lib_common::git_checkout 0 + flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar10 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 17 '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-windows-uid-15/flowey.exe + + echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 18 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + 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 + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + 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 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@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -2323,41 +3292,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe - echo '"debug"' | flowey.exe v 16 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 16 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 16 'verbose' update + cat <<'EOF' | flowey.exe v 19 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - 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 - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 16 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 16 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 16 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 16 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 16 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 16 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 16 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 16 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 16 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 16 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 19 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 19 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 19 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 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 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 + 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 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@v5 @@ -2367,17 +3336,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 16 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 2 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 2 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 2 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 2 flowey_lib_common::install_rust 2 + flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 2 flowey_lib_common::git_checkout 0 + flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 2 '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 + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -2588,41 +3776,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe - echo '"debug"' | flowey.exe v 17 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 17 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 17 'verbose' update + cat <<'EOF' | flowey.exe v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - 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 - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 17 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 17 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 17 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 17 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 17 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 17 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 17 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 17 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 17 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 17 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 20 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 20 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 20 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 20 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 20 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 20 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 17 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 17 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 17 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 17 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 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 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 + 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 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@v5 @@ -2632,17 +3820,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -2857,41 +4041,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe - echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 18 'verbose' update + cat <<'EOF' | flowey.exe v 21 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - 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 - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 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 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 + 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 floweyvar4 + flowey.exe v 21 '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@v5 @@ -2901,17 +4085,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-11" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3121,48 +4310,48 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-9/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-11/flowey - echo '"debug"' | flowey v 19 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 19 '_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 19 'verbose' update + cat <<'EOF' | flowey v 22 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - 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-openvmm_vhost" | flowey v 19 'artifact_use_from_x64-linux-openvmm_vhost' --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 + echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 22 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 22 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 22 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 22 'artifact_use_from_x64-linux-openvmm' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm_vhost" | flowey v 22 'artifact_use_from_x64-linux-openvmm_vhost' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 22 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 22 'artifact_use_from_x64-tmks' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 22 'artifact_use_from_x64-windows-pipette' --is-raw-string update shell: bash - name: creating new test content dir run: |- - flowey e 19 flowey_core::pipeline::artifact::resolve 3 - flowey e 19 flowey_core::pipeline::artifact::resolve 4 - flowey e 19 flowey_core::pipeline::artifact::resolve 7 - flowey e 19 flowey_core::pipeline::artifact::resolve 1 - flowey e 19 flowey_core::pipeline::artifact::resolve 0 - flowey e 19 flowey_core::pipeline::artifact::resolve 2 - flowey e 19 flowey_core::pipeline::artifact::resolve 6 - flowey e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 + flowey e 22 flowey_core::pipeline::artifact::resolve 3 + flowey e 22 flowey_core::pipeline::artifact::resolve 4 + flowey e 22 flowey_core::pipeline::artifact::resolve 7 + flowey e 22 flowey_core::pipeline::artifact::resolve 1 + flowey e 22 flowey_core::pipeline::artifact::resolve 0 + flowey e 22 flowey_core::pipeline::artifact::resolve 2 + flowey e 22 flowey_core::pipeline::artifact::resolve 6 + flowey e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 shell: bash - name: checking if packages need to be installed - run: flowey e 19 flowey_lib_common::install_dist_pkg 0 + run: flowey e 22 flowey_lib_common::install_dist_pkg 0 shell: bash - name: installing packages - run: flowey e 19 flowey_lib_common::install_dist_pkg 1 + run: flowey e 22 flowey_lib_common::install_dist_pkg 1 shell: bash - name: create gh-release-download cache dir - run: flowey e 19 flowey_lib_common::download_gh_release 0 + run: flowey e 22 flowey_lib_common::download_gh_release 0 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 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 + 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 floweyvar8 + flowey v 22 '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@v5 @@ -3172,31 +4361,31 @@ jobs: name: 'Restore cache: gh-release-download' - name: download artifacts from github releases 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 <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - - echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 2 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update - shell: bash - - name: add default cargo home to path - run: flowey.exe e 2 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey.exe e 2 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey.exe e 2 flowey_lib_common::install_rust 2 - flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: check if openvmm needs to be cloned - run: |- - flowey.exe e 2 flowey_lib_common::git_checkout 0 - flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey.exe v 2 '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 + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4633,41 +5606,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe - echo '"debug"' | flowey.exe v 24 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 24 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 27 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 27 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 24 'verbose' update + cat <<'EOF' | flowey.exe v 27 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 24 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 24 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 24 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 24 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 24 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 24 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 24 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 24 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 24 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 24 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 24 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 24 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 24 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 24 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 27 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 27 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 27 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 27 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 27 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 27 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 27 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 27 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 27 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 27 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 27 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 27 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 27 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 27 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 24 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 24 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 24 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 24 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 27 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 27 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 27 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 27 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 24 flowey_lib_common::cache 0 - flowey.exe v 24 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 24 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 27 flowey_lib_common::cache 0 + flowey.exe v 27 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 27 '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@v5 @@ -4677,17 +5650,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 24 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-11" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4915,27 +5891,27 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-9/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-11/flowey - echo '"debug"' | flowey v 25 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 25 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 28 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 28 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 25 'verbose' update + cat <<'EOF' | flowey v 28 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 25 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 25 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 25 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 25 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 28 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 28 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 28 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 28 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update shell: bash - name: create gh cache dir - run: flowey e 25 flowey_lib_common::download_gh_cli 0 + run: flowey e 28 flowey_lib_common::download_gh_cli 0 shell: bash - name: Pre-processing cache vars run: |- - flowey e 25 flowey_lib_common::cache 0 - flowey v 25 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 25 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey e 28 flowey_lib_common::cache 0 + flowey v 28 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 28 '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@v5 @@ -4945,31 +5921,31 @@ jobs: name: 'Restore cache: gh-cli' - name: installing gh run: |- - flowey v 25 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - - echo '"debug"' | flowey v 8 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 8 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 8 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" | flowey v 8 'artifact_publish_from_aarch64-openhcl-baseline' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 8 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 8 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update - shell: bash - - name: checking if packages need to be installed - run: flowey e 8 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 8 flowey_lib_common::install_dist_pkg 1 - shell: bash - - name: create gh-release-download cache dir - run: flowey e 8 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey e 8 flowey_lib_common::cache 0 - flowey v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey v 8 '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@v5 - with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML run: |- - flowey v 8 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + + echo '"debug"' | flowey v 8 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 8 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 8 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" + echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 8 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 8 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 8 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 8 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" + echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 8 'artifact_publish_from_x64-tmks' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey e 8 flowey_lib_common::install_rust 0 @@ -6741,7 +7539,7 @@ jobs: - name: check if openvmm needs to be cloned run: |- flowey e 8 flowey_lib_common::git_checkout 0 - flowey v 8 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3 + flowey v 8 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 flowey v 8 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -6749,7 +7547,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar3 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -6763,151 +7561,102 @@ jobs: - name: set '-Dwarnings' in .cargo/config.toml run: flowey e 8 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 shell: bash - - name: unpack protoc - run: |- - flowey e 8 flowey_lib_common::resolve_protoc 0 - flowey e 8 flowey_lib_hvlite::cfg_openvmm_magicpath 0 - shell: bash - - name: symlink protoc - run: |- - flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 0 - flowey e 8 flowey_lib_hvlite::run_cargo_build 2 - flowey e 8 flowey_lib_hvlite::run_cargo_build 3 - shell: bash - - name: cargo build openhcl_boot - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 1 - flowey e 8 flowey_lib_hvlite::run_cargo_build 4 + - name: create gh-release-download cache dir + run: flowey e 8 flowey_lib_common::download_gh_release 0 shell: bash - - name: split debug symbols + - name: Pre-processing cache vars run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 8 flowey_lib_hvlite::run_cargo_build 5 - flowey e 8 flowey_lib_hvlite::build_openhcl_boot 0 + flowey e 8 flowey_lib_common::cache 0 + flowey v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 8 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - - name: extract and resolve kernel package + - id: flowey_lib_common__cache__1 + uses: actions/cache@v5 + with: + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases run: |- - flowey e 8 flowey_lib_hvlite::resolve_openhcl_kernel_package 1 - flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 - shell: bash - - name: unpack openvmm-deps archive - run: flowey e 8 flowey_lib_hvlite::resolve_openvmm_deps 0 + flowey v 8 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 10 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 10 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 10 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 10 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 10 'verbose' update + cat <<'EOF' | flowey v 10 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update + shell: bash + - name: checking if packages need to be installed + run: flowey e 10 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 10 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 10 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey e 10 flowey_lib_common::cache 0 + flowey v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey 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@v5 + with: + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey v 10 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 12 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 12 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 12 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 12 'verbose' update + cat <<'EOF' | flowey.exe v 12 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 12 flowey_lib_common::install_rust 0 + run: flowey.exe e 12 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 12 flowey_lib_common::install_rust 1 + run: flowey.exe e 12 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 12 flowey_lib_common::install_rust 2 - flowey e 12 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 12 flowey_lib_common::install_rust 2 + flowey.exe e 12 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 12 flowey_lib_common::git_checkout 0 + flowey.exe v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 12 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 13 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 13 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 13 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 13 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 13 'verbose' update + cat <<'EOF' | flowey v 13 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey.exe e 13 flowey_lib_common::install_rust 0 + run: flowey e 13 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 13 flowey_lib_common::install_rust 1 + run: flowey e 13 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 13 flowey_lib_common::install_rust 2 - flowey.exe e 13 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 13 flowey_lib_common::install_rust 2 + flowey e 13 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: checking if packages need to be installed + run: flowey e 13 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 13 flowey_lib_common::install_dist_pkg 1 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar7 }} + persist-credentials: ${{ env.floweyvar9 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 13 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey echo '"debug"' | flowey v 14 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update @@ -1626,16 +1561,10 @@ jobs: flowey e 14 flowey_lib_common::install_rust 2 flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - - name: checking if packages need to be installed - run: flowey e 14 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 14 flowey_lib_common::install_dist_pkg 1 - shell: bash - name: check if openvmm needs to be cloned run: |- flowey e 14 flowey_lib_common::git_checkout 0 - flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -1643,7 +1572,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar9 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -1653,9 +1582,13 @@ jobs: EOF flowey e 14 flowey_lib_common::git_checkout 3 flowey e 14 flowey_lib_hvlite::git_checkout_openvmm_repo 0 + flowey e 14 flowey_lib_hvlite::cfg_openvmm_magicpath 0 shell: bash - - name: set '-Dwarnings' in .cargo/config.toml - run: flowey e 14 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 + - name: checking if packages need to be installed + run: flowey e 14 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 14 flowey_lib_common::install_dist_pkg 1 shell: bash - name: create gh-release-download cache dir run: flowey e 14 flowey_lib_common::download_gh_release 0 @@ -1663,14 +1596,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 14 flowey_lib_common::cache 4 - flowey v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v5 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -1680,25 +1613,45 @@ jobs: flowey e 14 flowey_lib_common::cache 6 flowey e 14 flowey_lib_common::download_gh_release 1 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 14 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract X86_64 sysroot.tar.gz + run: flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + shell: bash + - name: set '-Dwarnings' in .cargo/config.toml + run: flowey e 14 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 + shell: bash - name: unpack protoc - run: |- - flowey e 14 flowey_lib_common::resolve_protoc 0 - flowey e 14 flowey_lib_hvlite::cfg_openvmm_magicpath 0 + run: flowey e 14 flowey_lib_common::resolve_protoc 0 shell: bash - name: symlink protoc run: |- flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 14 flowey_lib_hvlite::init_cross_build 0 flowey e 14 flowey_lib_hvlite::init_cross_build 2 shell: bash - - name: cargo build xtask - run: |- - flowey e 14 flowey_lib_common::run_cargo_build 0 - flowey e 14 flowey_lib_hvlite::run_cargo_build 0 + - name: cargo clippy + run: flowey e 14 flowey_lib_common::run_cargo_clippy 4 shell: bash - - name: split debug symbols - run: |- - flowey e 14 flowey_lib_hvlite::run_split_debug_info 1 + - name: cargo clippy + run: flowey e 14 flowey_lib_common::run_cargo_clippy 1 + shell: bash + - name: cargo clippy + run: flowey e 14 flowey_lib_common::run_cargo_clippy 6 + shell: bash + - name: cargo clippy + run: |- + flowey e 14 flowey_lib_common::run_cargo_clippy 5 + flowey e 14 flowey_lib_hvlite::init_cross_build 0 + shell: bash + - name: cargo build xtask + run: |- + flowey e 14 flowey_lib_common::run_cargo_build 0 + flowey e 14 flowey_lib_hvlite::run_cargo_build 0 + shell: bash + - name: split debug symbols + run: |- + flowey e 14 flowey_lib_hvlite::run_split_debug_info 1 flowey e 14 flowey_lib_hvlite::run_cargo_build 1 flowey e 14 flowey_lib_hvlite::build_xtask 0 shell: bash @@ -1714,9 +1667,6 @@ jobs: - name: cargo clippy run: flowey e 14 flowey_lib_common::run_cargo_clippy 3 shell: bash - - name: cargo clippy - run: flowey e 14 flowey_lib_common::run_cargo_clippy 1 - shell: bash - name: create cargo-nextest cache dir run: |- flowey e 14 flowey_lib_common::download_cargo_nextest 0 @@ -1727,14 +1677,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 14 flowey_lib_common::cache 0 - flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v5 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -1750,17 +1700,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 14 flowey_lib_common::install_cargo_nextest 0 - flowey e 14 flowey_lib_hvlite::init_cross_build 1 + flowey e 14 flowey_lib_hvlite::init_cross_build 3 flowey e 14 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'unit-tests crypto (openssl)' nextest tests + - name: run 'unit-tests crypto (none)' nextest tests run: |- - flowey e 14 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 14 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 14 flowey_lib_common::publish_test_results 5 flowey e 14 flowey_lib_common::publish_test_results 6 flowey e 14 flowey_lib_common::publish_test_results 4 @@ -1770,18 +1720,18 @@ jobs: - id: flowey_lib_common__publish_test_results__7 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (none)-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (none) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'unit-tests crypto (all)' nextest tests + - name: run 'unit-tests crypto (openssl)' nextest tests run: |- - flowey e 14 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 14 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 14 flowey_lib_common::publish_test_results 8 flowey e 14 flowey_lib_common::publish_test_results 9 flowey e 14 flowey_lib_common::publish_test_results 10 @@ -1791,33 +1741,18 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (all)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 14 flowey_lib_hvlite::init_cross_build 3 - flowey e 14 flowey_lib_common::run_cargo_build 1 - flowey e 14 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 14 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 14 flowey_lib_hvlite::run_cargo_build 3 - flowey e 14 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 0 - shell: bash - name: generate nextest command run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'unit-tests' nextest tests + - name: run 'unit-tests crypto (symcrypt)' nextest tests run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 6 flowey e 14 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 14 flowey_lib_common::publish_test_results 12 flowey e 14 flowey_lib_common::publish_test_results 13 flowey e 14 flowey_lib_common::publish_test_results 14 @@ -1827,18 +1762,54 @@ jobs: - id: flowey_lib_common__publish_test_results__15 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'unit-tests crypto (none)' nextest tests + - name: run 'unit-tests crypto (all)' nextest tests run: |- - flowey e 14 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 14 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 14 flowey_lib_common::publish_test_results 16 + flowey e 14 flowey_lib_common::publish_test_results 17 + flowey e 14 flowey_lib_common::publish_test_results 18 + flowey v 14 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5 + flowey v 14 'flowey_lib_common::publish_test_results:28: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__19 + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml + path: ${{ env.floweyvar5 }} + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: cargo build xtask + run: |- + flowey e 14 flowey_lib_hvlite::init_cross_build 1 + flowey e 14 flowey_lib_common::run_cargo_build 1 + flowey e 14 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 14 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 14 flowey_lib_hvlite::run_cargo_build 3 + flowey e 14 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 0 + shell: bash + - name: generate nextest command + run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + shell: bash + - name: run 'unit-tests' nextest tests + run: |- + flowey e 14 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 14 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 14 flowey_lib_common::publish_test_results 0 flowey e 14 flowey_lib_common::publish_test_results 1 flowey e 14 flowey_lib_common::publish_test_results 2 @@ -1848,16 +1819,16 @@ jobs: - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (none)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (none) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - - name: run doctests for aarch64-unknown-linux-gnu + - name: run doctests for x86_64-unknown-linux-musl run: flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 shell: bash - name: 'validate cache entry: cargo-nextest' @@ -1867,11 +1838,11 @@ jobs: run: flowey e 14 flowey_lib_common::cache 7 shell: bash job15: - name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] + name: clippy [aarch64-windows], unit tests [aarch64-windows] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-arm-westus2 - - 1ES.ImageOverride=ubuntu2404-arm64 + - 1ES.ImageOverride=win-arm64 - JobId=job15-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} permissions: contents: read @@ -1913,11 +1884,11 @@ jobs: - name: Build flowey run: | set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH @@ -1930,7 +1901,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -1938,368 +1909,1235 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 15 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 15 'verbose' update + cat <<'EOF' | flowey.exe v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 15 flowey_lib_common::install_rust 0 + run: flowey.exe e 15 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 15 flowey_lib_common::install_rust 1 + run: flowey.exe e 15 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 15 flowey_lib_common::install_rust 2 - flowey e 15 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 15 flowey_lib_common::install_rust 2 + flowey.exe e 15 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 15 flowey_lib_common::git_checkout 0 - flowey v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 15 '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 + - run: | + set -x + i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; + sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y + curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y + . "$HOME/.cargo/env" + echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + + echo '"debug"' | flowey v 16 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 16 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 16 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: add default cargo home to path + run: flowey e 16 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey e 16 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey e 16 flowey_lib_common::install_rust 2 + flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: checking if packages need to be installed + run: flowey e 16 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 16 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 16 flowey_lib_common::git_checkout 0 + flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar9 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 16 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + + echo '"debug"' | flowey v 17 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 17 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: add default cargo home to path + run: flowey e 17 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey e 17 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey e 17 flowey_lib_common::install_rust 2 + flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 17 flowey_lib_common::git_checkout 0 + flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar10 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 17 '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-windows-uid-6/flowey.exe + + echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 18 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + 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 + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + 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 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@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe - echo '"debug"' | flowey.exe v 16 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 16 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 16 'verbose' update + cat <<'EOF' | flowey.exe v 19 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - 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 - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 16 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 16 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 16 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 16 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 16 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 16 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 16 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 16 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 16 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 16 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 19 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 19 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 19 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 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 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 + 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 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@v5 @@ -2309,17 +3147,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 16 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 2 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 2 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 2 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 2 flowey_lib_common::install_rust 2 + flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 2 flowey_lib_common::git_checkout 0 + flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 2 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - - echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 2 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + flowey e 22 flowey_lib_common::cache 2 + flowey e 22 flowey_lib_common::download_cargo_nextest 4 shell: bash - - name: add default cargo home to path - run: flowey.exe e 2 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey.exe e 2 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey.exe e 2 flowey_lib_common::install_rust 2 - flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: check if openvmm needs to be cloned - run: |- - flowey.exe e 2 flowey_lib_common::git_checkout 0 - flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3 + flowey v 22 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar3 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 2 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 + with: + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 12 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 12 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 12 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 12 'verbose' update + cat <<'EOF' | flowey v 12 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" + echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 12 'artifact_publish_from_x64-openhcl-igvm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" + echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | flowey v 12 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update + shell: bash + - name: checking if packages need to be installed + run: flowey e 12 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 12 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 12 flowey_lib_common::download_gh_release 0 + shell: bash + - 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 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@v5 + with: + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey v 12 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML run: |- - flowey e 13 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 13 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 13 flowey_lib_hvlite::build_nextest_unit_tests 3 - flowey e 13 flowey_lib_common::publish_test_results 5 - flowey e 13 flowey_lib_common::publish_test_results 6 - flowey e 13 flowey_lib_common::publish_test_results 4 - flowey v 13 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar2 - flowey v 13 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr shell: bash - - id: flowey_lib_common__publish_test_results__7 - uses: actions/upload-artifact@v7 + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 14 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 14 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 14 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: add default cargo home to path + run: flowey.exe e 14 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 14 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 14 flowey_lib_common::install_rust 2 + flowey.exe e 14 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 with: - name: x64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml - path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar7 }} + name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: flowey e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + - name: report cloned repo directories + run: |- + flowey.exe v 14 '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-1/flowey + + echo '"debug"' | flowey v 16 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 16 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 16 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: add default cargo home to path + run: flowey e 16 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey e 16 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey e 16 flowey_lib_common::install_rust 2 + flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 16 flowey_lib_common::git_checkout 0 + flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar10 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 16 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 2 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 2 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 2 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 2 flowey_lib_common::install_rust 2 + flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 2 flowey_lib_common::git_checkout 0 + flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 2 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' + path: ${{ runner.temp }}/used_artifacts/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe - echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 2 'verbose' update + cat <<'EOF' | flowey.exe v 22 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 22 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 22 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 22 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 22 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 22 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 22 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 22 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 22 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 22 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 22 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 22 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 22 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 22 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: add default cargo home to path - run: flowey.exe e 2 flowey_lib_common::install_rust 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3 shell: bash - - name: install Rust - run: flowey.exe e 2 flowey_lib_common::install_rust 1 + - name: Pre-processing cache vars + run: |- + flowey.exe e 22 flowey_lib_common::cache 0 + flowey.exe v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - - name: detect active toolchain + - id: flowey_lib_common__cache__1 + uses: actions/cache@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe e 2 flowey_lib_common::install_rust 2 - flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe v 22 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - - echo '"debug"' | flowey v 27 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 27 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 27 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: Check if any jobs failed - run: flowey e 27 flowey_lib_hvlite::_jobs::all_good_job 0 + run: flowey.exe e 29 flowey_lib_common::cache 11 shell: bash job3: name: build artifacts (for VMM tests) [aarch64-windows] @@ -5781,6 +6286,73 @@ jobs: name: aarch64-windows-vmm-tests-archive path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ include-hidden-files: true + job30: + name: openvmm checkin gates + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + needs: + - job0 + - job1 + - job10 + - job11 + - job12 + - job13 + - job14 + - job15 + - job16 + - job17 + - job18 + - job19 + - job2 + - job20 + - job21 + - job22 + - job23 + - job24 + - job25 + - job26 + - job27 + - job28 + - job29 + - job3 + - job4 + - job5 + - job6 + - job7 + - job8 + - job9 + if: always() && github.event.pull_request.draft == false + env: + ANY_JOBS_FAILED: ${{ contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }} + steps: + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 + with: + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + + echo '"debug"' | flowey v 30 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 30 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: Check if any jobs failed + run: flowey e 30 flowey_lib_hvlite::_jobs::all_good_job 0 + shell: bash job4: name: build artifacts (not for VMM tests) [x64-windows] runs-on: @@ -6331,7 +6903,7 @@ jobs: name: _internal-flowey-bootstrap-x86_64-windows-uid-6 path: ${{ runner.temp }}/bootstrapped-flowey job6: - name: build artifacts [aarch64-linux] + name: build artifacts [aarch64-linux] (shared) runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -6368,20 +6940,16 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 6 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 6 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 6 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 6 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 6 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 6 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 6 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 6 'artifact_publish_from_aarch64-tmks' --is-raw-string update shell: bash @@ -6391,17 +6959,11 @@ jobs: - name: install Rust run: flowey e 6 flowey_lib_common::install_rust 1 shell: bash - - name: detect active toolchain - run: |- - flowey e 6 flowey_lib_common::install_rust 2 - flowey e 6 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 6 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 6 flowey_lib_common::install_dist_pkg 1 - shell: bash + - name: detect active toolchain + run: |- + flowey e 6 flowey_lib_common::install_rust 2 + flowey e 6 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash - name: check if openvmm needs to be cloned run: |- flowey e 6 flowey_lib_common::git_checkout 0 @@ -6450,6 +7012,12 @@ jobs: flowey e 6 flowey_lib_common::cache 2 flowey e 6 flowey_lib_common::download_gh_release 1 shell: bash + - name: checking if packages need to be installed + run: flowey e 6 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 6 flowey_lib_common::install_dist_pkg 1 + shell: bash - name: unpack protoc run: |- flowey e 6 flowey_lib_common::resolve_protoc 0 @@ -6458,96 +7026,68 @@ jobs: - name: symlink protoc run: |- flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 6 flowey_lib_hvlite::init_cross_build 2 + flowey e 6 flowey_lib_hvlite::init_cross_build 6 shell: bash - - name: cargo build openvmm + - name: cargo build guest_test_uefi run: |- - flowey e 6 flowey_lib_common::run_cargo_build 3 - flowey e 6 flowey_lib_hvlite::run_cargo_build 5 + flowey e 6 flowey_lib_common::run_cargo_build 0 + flowey e 6 flowey_lib_hvlite::run_cargo_build 0 shell: bash - - name: split debug symbols + - name: build guest_test_uefi.img run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 6 flowey_lib_hvlite::run_cargo_build 6 - flowey e 6 flowey_lib_hvlite::build_openvmm 0 + flowey e 6 flowey_lib_hvlite::build_guest_test_uefi 0 flowey e 6 flowey_core::pipeline::artifact::publish 0 - flowey e 6 flowey_lib_hvlite::init_cross_build 3 + flowey e 6 flowey_lib_hvlite::init_cross_build 0 + flowey e 6 flowey_lib_hvlite::run_cargo_build 7 + flowey e 6 flowey_lib_hvlite::run_cargo_build 8 shell: bash - - name: cargo build openvmm_vhost + - name: cargo build simple_tmk run: |- flowey e 6 flowey_lib_common::run_cargo_build 4 - flowey e 6 flowey_lib_hvlite::run_cargo_build 7 + flowey e 6 flowey_lib_hvlite::run_cargo_build 9 shell: bash - name: split debug symbols run: |- flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 6 flowey_lib_hvlite::run_cargo_build 8 - flowey e 6 flowey_lib_hvlite::build_openvmm_vhost 0 + flowey e 6 flowey_lib_hvlite::run_cargo_build 10 + flowey e 6 flowey_lib_hvlite::build_tmks 0 flowey e 6 flowey_core::pipeline::artifact::publish 1 - flowey e 6 flowey_lib_hvlite::init_cross_build 6 + flowey e 6 flowey_lib_hvlite::init_cross_build 1 shell: bash - - name: cargo build vmgstool + - name: cargo build tpm_guest_tests run: |- - flowey e 6 flowey_lib_common::run_cargo_build 8 - flowey e 6 flowey_lib_hvlite::run_cargo_build 16 + flowey e 6 flowey_lib_common::run_cargo_build 6 + flowey e 6 flowey_lib_hvlite::run_cargo_build 13 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 5 - flowey e 6 flowey_lib_hvlite::run_cargo_build 17 - flowey e 6 flowey_lib_hvlite::build_vmgstool 0 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 6 flowey_lib_hvlite::run_cargo_build 14 + flowey e 6 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey e 6 flowey_core::pipeline::artifact::publish 2 - flowey e 6 flowey_lib_hvlite::init_cross_build 5 shell: bash - - name: cargo build vmgs_lib - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 7 - flowey e 6 flowey_lib_hvlite::run_cargo_build 15 - flowey e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 0 - flowey e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 - flowey e 6 flowey_core::pipeline::artifact::publish 3 - flowey e 6 flowey_lib_hvlite::init_cross_build 7 - shell: bash - - name: cargo build igvmfilegen - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 1 - flowey e 6 flowey_lib_hvlite::run_cargo_build 1 + - name: unpack openvmm-deps archive + run: flowey e 6 flowey_lib_hvlite::resolve_openvmm_deps 0 shell: bash - - name: split debug symbols + - name: extract Aarch64 sysroot.tar.gz run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 6 - flowey e 6 flowey_lib_hvlite::run_cargo_build 2 - flowey e 6 flowey_lib_hvlite::build_igvmfilegen 0 - flowey e 6 flowey_core::pipeline::artifact::publish 4 - flowey e 6 flowey_lib_hvlite::init_cross_build 1 + flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + flowey e 6 flowey_lib_hvlite::init_cross_build 3 shell: bash - - name: cargo build ohcldiag-dev + - name: cargo build pipette run: |- - flowey e 6 flowey_lib_common::run_cargo_build 2 - flowey e 6 flowey_lib_hvlite::run_cargo_build 3 + flowey e 6 flowey_lib_common::run_cargo_build 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 5 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 4 - flowey e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 - flowey e 6 flowey_core::pipeline::artifact::publish 5 - flowey e 6 flowey_lib_hvlite::init_cross_build 8 - shell: bash - - name: cargo build guest_test_uefi - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 0 - shell: bash - - name: build guest_test_uefi.img - run: |- - flowey e 6 flowey_lib_hvlite::build_guest_test_uefi 0 - flowey e 6 flowey_core::pipeline::artifact::publish 6 - flowey e 6 flowey_lib_hvlite::init_cross_build 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 9 - flowey e 6 flowey_lib_hvlite::run_cargo_build 10 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 + flowey e 6 flowey_lib_hvlite::run_cargo_build 6 + flowey e 6 flowey_lib_hvlite::build_pipette 0 + flowey e 6 flowey_core::pipeline::artifact::publish 3 + flowey e 6 flowey_lib_hvlite::init_cross_build 4 shell: bash - - name: cargo build simple_tmk + - name: cargo build tmk_vmm run: |- flowey e 6 flowey_lib_common::run_cargo_build 5 flowey e 6 flowey_lib_hvlite::run_cargo_build 11 @@ -6556,21 +7096,34 @@ jobs: run: |- flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 flowey e 6 flowey_lib_hvlite::run_cargo_build 12 - flowey e 6 flowey_lib_hvlite::build_tmks 0 - flowey e 6 flowey_core::pipeline::artifact::publish 7 - flowey e 6 flowey_lib_hvlite::init_cross_build 4 + flowey e 6 flowey_lib_hvlite::build_tmk_vmm 0 + flowey e 6 flowey_core::pipeline::artifact::publish 4 + flowey e 6 flowey_lib_hvlite::init_cross_build 5 shell: bash - - name: cargo build tpm_guest_tests + - name: cargo build openvmm run: |- - flowey e 6 flowey_lib_common::run_cargo_build 6 - flowey e 6 flowey_lib_hvlite::run_cargo_build 13 + flowey e 6 flowey_lib_common::run_cargo_build 1 + flowey e 6 flowey_lib_hvlite::run_cargo_build 1 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 4 - flowey e 6 flowey_lib_hvlite::run_cargo_build 14 - flowey e 6 flowey_lib_hvlite::build_tpm_guest_tests 0 - flowey e 6 flowey_core::pipeline::artifact::publish 8 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 5 + flowey e 6 flowey_lib_hvlite::run_cargo_build 2 + flowey e 6 flowey_lib_hvlite::build_openvmm 0 + flowey e 6 flowey_core::pipeline::artifact::publish 5 + flowey e 6 flowey_lib_hvlite::init_cross_build 2 + shell: bash + - name: cargo build openvmm_vhost + run: |- + flowey e 6 flowey_lib_common::run_cargo_build 2 + flowey e 6 flowey_lib_hvlite::run_cargo_build 3 + shell: bash + - name: split debug symbols + run: |- + flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 6 flowey_lib_hvlite::run_cargo_build 4 + flowey e 6 flowey_lib_hvlite::build_openvmm_vhost 0 + flowey e 6 flowey_core::pipeline::artifact::publish 6 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 6 flowey_lib_common::cache 3 @@ -6581,29 +7134,29 @@ jobs: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-igvmfilegen + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm uses: actions/upload-artifact@v7 with: - name: aarch64-linux-igvmfilegen - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ + name: aarch64-linux-musl-openvmm + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost uses: actions/upload-artifact@v7 with: - name: aarch64-linux-ohcldiag-dev - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ + name: aarch64-linux-musl-openvmm_vhost + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-openvmm + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v7 with: - name: aarch64-linux-openvmm - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ + name: aarch64-linux-musl-pipette + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-pipette/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-openvmm_vhost + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-tmk_vmm uses: actions/upload-artifact@v7 with: - name: aarch64-linux-openvmm_vhost - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm_vhost/ + name: aarch64-linux-musl-tmk_vmm + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-tpm_guest_tests uses: actions/upload-artifact@v7 @@ -6611,18 +7164,6 @@ jobs: name: aarch64-linux-tpm_guest_tests path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-tpm_guest_tests/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmgs_lib - uses: actions/upload-artifact@v7 - 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@v7 - 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@v7 with: @@ -6630,7 +7171,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ include-hidden-files: true job7: - name: build artifacts [x64-linux] + name: build artifacts [aarch64-linux] (for VMM tests) runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -6665,26 +7206,18 @@ jobs: cat <<'EOF' | flowey v 7 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" - echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 7 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_x64-linux-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | flowey v 7 'artifact_publish_from_x64-linux-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" | flowey v 7 'artifact_publish_from_x64-linux-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 7 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | flowey v 7 'artifact_publish_from_x64-linux-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 7 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 7 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" - echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 7 'artifact_publish_from_x64-tmks' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 7 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 7 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey e 7 flowey_lib_common::install_rust 0 @@ -6733,22 +7266,22 @@ jobs: shell: bash - name: Pre-processing cache vars run: |- - flowey e 7 flowey_lib_common::cache 4 - flowey v 7 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey v 7 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey e 7 flowey_lib_common::cache 0 + flowey v 7 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 7 '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__5 + - id: flowey_lib_common__cache__1 uses: actions/cache@v5 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- - flowey v 7 '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 < { vmm_tests_artifacts_windows_aarch64.use_guest_test_uefi = Some(use_guest_test_uefi.clone()); vmm_tests_artifacts_windows_aarch64.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_windows_aarch64.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_windows_aarch64.use_tmk_vmm_linux_musl = + Some(use_tmk_vmm.clone()); } } + // Emit a job for building dependencies used by all platforms vmm tests + let shared_job = pipeline + .new_job( + FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), + FlowArch::X86_64, + format!("build artifacts [{arch_tag}-linux] (shared)"), + ) + .gh_set_pool(gh_pools::default_linux()) + .ado_set_pool(ado_pools::default_linux()) + .publish(pub_guest_test_uefi, |guest_test_uefi| { + flowey_lib_hvlite::build_guest_test_uefi::Request { + arch, + profile: CommonProfile::from_release(release), + guest_test_uefi, + } + }) + .publish(pub_tmks, |tmks| flowey_lib_hvlite::build_tmks::Request { + arch, + profile: CommonProfile::from_release(release), + tmks, + }) + .publish(pub_tpm_guest_tests, |tpm_guest_tests| { + flowey_lib_hvlite::build_tpm_guest_tests::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release), + tpm_guest_tests, + } + }) + .publish(pub_pipette_linux_musl, |pipette| { + flowey_lib_hvlite::build_pipette::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxMusl, + }, + profile: CommonProfile::from_release(release), + pipette, + } + }) + .publish(pub_tmk_vmm, |tmk_vmm| { + flowey_lib_hvlite::build_tmk_vmm::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxMusl, + }, + profile: CommonProfile::from_release(release), + unstable_whp: false, + tmk_vmm, + } + }) + .publish(pub_openvmm_musl, |openvmm| { + flowey_lib_hvlite::build_openvmm::Request { + params: flowey_lib_hvlite::build_openvmm::OpenvmmBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxMusl, + }, + profile: CommonProfile::from_release(release), + features: [flowey_lib_hvlite::build_openvmm::OpenvmmFeature::Tpm] + .into(), + }, + openvmm, + } + }) + .publish(pub_openvmm_vhost_musl, |openvmm_vhost| { + flowey_lib_hvlite::build_openvmm_vhost::Request { + params: flowey_lib_hvlite::build_openvmm_vhost::OpenvmmVhostBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxMusl, + }, + profile: CommonProfile::from_release(release), + }, + openvmm_vhost, + } + }) + .finish(); + all_jobs.push(shared_job); + let vmgstool_target = CommonTriple::Common { arch, platform: CommonPlatform::LinuxGnu, @@ -633,11 +734,12 @@ impl IntoPipeline for CheckinGatesCli { anyhow::bail!("multiple vmgstools for the same target"); } + // Emit a job for building dependencies used by just linux vmm tests let mut job = pipeline .new_job( FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), FlowArch::X86_64, - format!("build artifacts [{arch_tag}-linux]"), + format!("build artifacts [{arch_tag}-linux] (for VMM tests)"), ) .gh_set_pool(gh_pools::default_linux()) .ado_set_pool(ado_pools::default_linux()) @@ -709,28 +811,6 @@ impl IntoPipeline for CheckinGatesCli { profile: CommonProfile::from_release(release), ohcldiag_dev, } - }) - .publish(pub_guest_test_uefi, |guest_test_uefi| { - flowey_lib_hvlite::build_guest_test_uefi::Request { - arch, - profile: CommonProfile::from_release(release), - guest_test_uefi, - } - }) - .publish(pub_tmks, |tmks| flowey_lib_hvlite::build_tmks::Request { - arch, - profile: CommonProfile::from_release(release), - tmks, - }) - .publish(pub_tpm_guest_tests, |tpm_guest_tests| { - flowey_lib_hvlite::build_tpm_guest_tests::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxGnu, - }, - profile: CommonProfile::from_release(release), - tpm_guest_tests, - } }); // Hang building the linux VMM tests off this big linux job. @@ -746,6 +826,16 @@ impl IntoPipeline for CheckinGatesCli { archive, ), }); + + let pub_vmm_tests_archive_linux_musl_x86 = + pub_vmm_tests_archive_linux_musl_x86.take().unwrap(); + job = job.publish(pub_vmm_tests_archive_linux_musl_x86, |archive| flowey_lib_hvlite::build_nextest_vmm_tests::Request { + target: CommonTriple::X86_64_LINUX_MUSL.as_triple(), + profile: CommonProfile::from_release(release), + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( + archive, + ), + }); } all_jobs.push(job.finish()); @@ -777,58 +867,15 @@ impl IntoPipeline for CheckinGatesCli { (None, None) }; - // also build pipette musl on this job, as until we land the - // refactor that allows building musl without the full openhcl - // toolchain, it would require pulling in all the openhcl - // toolchain deps... - let (pub_pipette_linux_musl, use_pipette_linux_musl) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-pipette")); - - let (pub_tmk_vmm, use_tmk_vmm) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-tmk_vmm")); - - // Also build openvmm and openvmm_vhost for musl on this job, - // alongside pipette and tmk_vmm. This enables running VMM tests - // on Azure Linux (MSHV) runners which have an older glibc. - // Only needed for x86_64 (the MSHV test job is x64-only). - let (pub_openvmm_musl, use_openvmm_musl) = matches!(arch, CommonArch::X86_64) - .then(|| pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-openvmm"))) - .unzip(); - let (pub_openvmm_vhost_musl, use_openvmm_vhost_musl) = - matches!(arch, CommonArch::X86_64) - .then(|| { - pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-openvmm_vhost")) - }) - .unzip(); - // skim off interesting artifacts required by the VMM tests job match arch { CommonArch::X86_64 => { vmm_tests_artifacts_windows_x86.use_openhcl_igvm_files = Some(use_openhcl_igvm.clone()); - vmm_tests_artifacts_windows_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); - vmm_tests_artifacts_windows_x86.use_tmk_vmm_linux_musl = - Some(use_tmk_vmm.clone()); - // musl artifacts for MSHV test job - vmm_tests_artifacts_linux_musl_x86.use_openvmm = - Some(use_openvmm_musl.clone().unwrap()); - vmm_tests_artifacts_linux_musl_x86.use_openvmm_vhost = - Some(use_openvmm_vhost_musl.clone().unwrap()); - vmm_tests_artifacts_linux_musl_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_musl_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); } CommonArch::Aarch64 => { vmm_tests_artifacts_windows_aarch64.use_openhcl_igvm_files = Some(use_openhcl_igvm.clone()); - vmm_tests_artifacts_windows_aarch64.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_windows_aarch64.use_tmk_vmm_linux_musl = - Some(use_tmk_vmm.clone()); } } let igvm_recipes = match arch { @@ -848,7 +895,7 @@ impl IntoPipeline for CheckinGatesCli { }; let build_openhcl_job_tag = |arch_tag| format!("build openhcl [{arch_tag}-linux]"); - let mut job = pipeline + let job = pipeline .new_job( FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), FlowArch::X86_64, @@ -880,68 +927,7 @@ impl IntoPipeline for CheckinGatesCli { artifact_openhcl_verify_size_baseline: publish_baseline_artifact, done: ctx.new_done_handle(), } - }) - .publish(pub_pipette_linux_musl, |pipette| { - flowey_lib_hvlite::build_pipette::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxMusl, - }, - profile: CommonProfile::from_release(release), - pipette, - } - }) - .publish(pub_tmk_vmm, |tmk_vmm| { - flowey_lib_hvlite::build_tmk_vmm::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxMusl, - }, - profile: CommonProfile::from_release(release), - unstable_whp: false, - tmk_vmm, - } - }); - - // Build musl openvmm, openvmm_vhost, and VMM tests archive on the - // OpenHCL x86 job only (the MSHV test job is x64-only). - if let (Some(pub_openvmm_musl), Some(pub_openvmm_vhost_musl)) = - (pub_openvmm_musl, pub_openvmm_vhost_musl) - { - job = job - .dep_on(|ctx| flowey_lib_hvlite::build_openvmm::Request { - params: flowey_lib_hvlite::build_openvmm::OpenvmmBuildParams { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxMusl, - }, - profile: CommonProfile::from_release(release), - features: [flowey_lib_hvlite::build_openvmm::OpenvmmFeature::Tpm] - .into(), - }, - openvmm: ctx.publish_typed_artifact(pub_openvmm_musl), - }) - .dep_on(|ctx| flowey_lib_hvlite::build_openvmm_vhost::Request { - params: flowey_lib_hvlite::build_openvmm_vhost::OpenvmmVhostBuildParams { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxMusl, - }, - profile: CommonProfile::from_release(release), - }, - openvmm_vhost: ctx.publish_typed_artifact(pub_openvmm_vhost_musl), - }); - - let pub_vmm_tests_archive_linux_musl_x86 = - pub_vmm_tests_archive_linux_musl_x86.take().unwrap(); - job = job.dep_on(|ctx| flowey_lib_hvlite::build_nextest_vmm_tests::Request { - target: CommonTriple::X86_64_LINUX_MUSL.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_musl_x86), - ), }); - } all_jobs.push(job.finish()); From 0e07a355b501e1c309afc78a3b31dfcbcba02ea0 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Fri, 1 May 2026 12:13:19 -0400 Subject: [PATCH 02/14] cleanup --- .../src/pipelines/checkin_gates.rs | 178 +++++++++--------- 1 file changed, 86 insertions(+), 92 deletions(-) diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 517e0f4ca5..ffa23c4830 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -647,7 +647,7 @@ impl IntoPipeline for CheckinGatesCli { .new_job( FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), FlowArch::X86_64, - format!("build artifacts [{arch_tag}-linux] (shared)"), + format!("build artifacts (shared VMM tests) [{arch_tag}-linux]"), ) .gh_set_pool(gh_pools::default_linux()) .ado_set_pool(ado_pools::default_linux()) @@ -735,110 +735,106 @@ impl IntoPipeline for CheckinGatesCli { } // Emit a job for building dependencies used by just linux vmm tests - let mut job = pipeline - .new_job( - FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), - FlowArch::X86_64, - format!("build artifacts [{arch_tag}-linux] (for VMM tests)"), - ) - .gh_set_pool(gh_pools::default_linux()) - .ado_set_pool(ado_pools::default_linux()) - .publish(pub_openvmm, |openvmm| { - flowey_lib_hvlite::build_openvmm::Request { - params: flowey_lib_hvlite::build_openvmm::OpenvmmBuildParams { + // No ARM64 VMM tests yet + if matches!(arch, CommonArch::X86_64) { + let pub_vmm_tests_archive_linux_x86 = + pub_vmm_tests_archive_linux_x86.take().unwrap(); + let pub_vmm_tests_archive_linux_musl_x86 = + pub_vmm_tests_archive_linux_musl_x86.take().unwrap(); + + let job = pipeline + .new_job( + FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), + FlowArch::X86_64, + format!("build artifacts (for VMM tests) [{arch_tag}-linux]"), + ) + .gh_set_pool(gh_pools::default_linux()) + .ado_set_pool(ado_pools::default_linux()) + .publish(pub_openvmm, |openvmm| { + flowey_lib_hvlite::build_openvmm::Request { + params: flowey_lib_hvlite::build_openvmm::OpenvmmBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release), + // FIXME: this relies on openvmm default features + features: [flowey_lib_hvlite::build_openvmm::OpenvmmFeature::Tpm] + .into(), + }, + openvmm, + } + }) + .publish(pub_openvmm_vhost, |openvmm_vhost| { + flowey_lib_hvlite::build_openvmm_vhost::Request { + params: + flowey_lib_hvlite::build_openvmm_vhost::OpenvmmVhostBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release), + }, + openvmm_vhost, + } + }) + .publish(pub_vmgstool, |vmgstool| { + flowey_lib_hvlite::build_vmgstool::Request { + target: vmgstool_target, + profile: CommonProfile::from_release(release), + with_crypto: true, + with_test_helpers: true, + vmgstool, + } + }) + .publish(pub_vmgs_lib, |vmgs_lib| { + flowey_lib_hvlite::build_and_test_vmgs_lib::Request { target: CommonTriple::Common { arch, platform: CommonPlatform::LinuxGnu, }, profile: CommonProfile::from_release(release), - // FIXME: this relies on openvmm default features - features: [flowey_lib_hvlite::build_openvmm::OpenvmmFeature::Tpm] - .into(), - }, - openvmm, - } - }) - .publish(pub_openvmm_vhost, |openvmm_vhost| { - flowey_lib_hvlite::build_openvmm_vhost::Request { - params: flowey_lib_hvlite::build_openvmm_vhost::OpenvmmVhostBuildParams { + vmgs_lib, + } + }) + .publish(pub_igvmfilegen, |igvmfilegen| { + flowey_lib_hvlite::build_igvmfilegen::Request { + build_params: + flowey_lib_hvlite::build_igvmfilegen::IgvmfilegenBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release).into(), + }, + igvmfilegen, + } + }) + .publish(pub_ohcldiag_dev, |ohcldiag_dev| { + flowey_lib_hvlite::build_ohcldiag_dev::Request { target: CommonTriple::Common { arch, platform: CommonPlatform::LinuxGnu, }, profile: CommonProfile::from_release(release), - }, - openvmm_vhost, - } - }) - .publish(pub_vmgstool, |vmgstool| { - flowey_lib_hvlite::build_vmgstool::Request { - target: vmgstool_target, - profile: CommonProfile::from_release(release), - with_crypto: true, - with_test_helpers: true, - vmgstool, - } - }) - .publish(pub_vmgs_lib, |vmgs_lib| { - flowey_lib_hvlite::build_and_test_vmgs_lib::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxGnu, - }, - profile: CommonProfile::from_release(release), - vmgs_lib, - } - }) - .publish(pub_igvmfilegen, |igvmfilegen| { - flowey_lib_hvlite::build_igvmfilegen::Request { - build_params: - flowey_lib_hvlite::build_igvmfilegen::IgvmfilegenBuildParams { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxGnu, - }, - profile: CommonProfile::from_release(release).into(), - }, - igvmfilegen, - } - }) - .publish(pub_ohcldiag_dev, |ohcldiag_dev| { - flowey_lib_hvlite::build_ohcldiag_dev::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxGnu, - }, - profile: CommonProfile::from_release(release), - ohcldiag_dev, - } - }); - - // Hang building the linux VMM tests off this big linux job. - // - // No ARM64 VMM tests yet - if matches!(arch, CommonArch::X86_64) { - let pub_vmm_tests_archive_linux_x86 = - pub_vmm_tests_archive_linux_x86.take().unwrap(); - job = job.publish(pub_vmm_tests_archive_linux_x86, |archive| flowey_lib_hvlite::build_nextest_vmm_tests::Request { + ohcldiag_dev, + } + }).publish(pub_vmm_tests_archive_linux_x86, |archive| 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( archive, ), - }); - - let pub_vmm_tests_archive_linux_musl_x86 = - pub_vmm_tests_archive_linux_musl_x86.take().unwrap(); - job = job.publish(pub_vmm_tests_archive_linux_musl_x86, |archive| flowey_lib_hvlite::build_nextest_vmm_tests::Request { + }).publish(pub_vmm_tests_archive_linux_musl_x86, |archive| flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::X86_64_LINUX_MUSL.as_triple(), profile: CommonProfile::from_release(release), build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( archive, ), }); - } - all_jobs.push(job.finish()); + all_jobs.push(job.finish()); + } } // emit openhcl build job @@ -942,8 +938,8 @@ impl IntoPipeline for CheckinGatesCli { format!("verify openhcl binary size [{}]", arch_tag), ) .gh_set_pool(gh_pools::linux_x64_gh()) - .side_effect( - |done| flowey_lib_hvlite::_jobs::check_openvmm_hcl_size::Request { + .side_effect(|done| { + flowey_lib_hvlite::_jobs::check_openvmm_hcl_size::Request { target: CommonTriple::Common { arch, platform: CommonPlatform::LinuxMusl, @@ -951,10 +947,9 @@ impl IntoPipeline for CheckinGatesCli { done, pipeline_name: "openvmm-ci.yaml".into(), job_name: build_openhcl_job_tag(arch_tag), - }, - ) - .finish(); - all_jobs.push(job); + } + }); + all_jobs.push(job.finish()); } } @@ -1470,9 +1465,8 @@ impl IntoPipeline for CheckinGatesCli { base_recipe: OpenhclIgvmRecipe::X64, done, } - }) - .finish(); - all_jobs.push(job); + }); + all_jobs.push(job.finish()); } } From 4dff6b5a167367742639658f18171d739e037cf8 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Fri, 1 May 2026 12:22:35 -0400 Subject: [PATCH 03/14] more cleanup --- .github/workflows/openvmm-ci.yaml | 29 ++- .github/workflows/openvmm-pr-release.yaml | 29 ++- .github/workflows/openvmm-pr.yaml | 29 ++- ci-flowey/openvmm-pr.yaml | 28 ++- .../src/pipelines/checkin_gates.rs | 177 ++++++++++-------- 5 files changed, 138 insertions(+), 154 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 80f5a39e62..edc998fda4 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -6845,7 +6845,7 @@ jobs: name: _internal-flowey-bootstrap-x86_64-windows-uid-15 path: ${{ runner.temp }}/bootstrapped-flowey job6: - name: build artifacts [aarch64-linux] (shared) + name: build artifacts (shared VMM tests) [aarch64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7155,7 +7155,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ include-hidden-files: true job7: - name: build artifacts [aarch64-linux] (for VMM tests) + name: build artifacts (for VMM tests) [aarch64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7433,7 +7433,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true job8: - name: build artifacts [x64-linux] (shared) + name: build artifacts (shared VMM tests) [x64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7743,7 +7743,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ include-hidden-files: true job9: - name: build artifacts [x64-linux] (for VMM tests) + name: build artifacts (for VMM tests) [x64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7910,7 +7910,7 @@ jobs: - name: symlink protoc run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 1 + flowey e 9 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm run: |- @@ -7923,7 +7923,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 5 flowey e 9 flowey_lib_hvlite::build_openvmm 0 flowey e 9 flowey_core::pipeline::artifact::publish 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 2 + flowey e 9 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -7936,7 +7936,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 9 flowey_core::pipeline::artifact::publish 1 - flowey e 9 flowey_lib_hvlite::init_cross_build 5 + flowey e 9 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- @@ -7949,7 +7949,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 10 flowey e 9 flowey_lib_hvlite::build_vmgstool 0 flowey e 9 flowey_core::pipeline::artifact::publish 2 - flowey e 9 flowey_lib_hvlite::init_cross_build 4 + flowey e 9 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgs_lib run: |- @@ -7962,7 +7962,7 @@ jobs: flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 9 flowey_core::pipeline::artifact::publish 3 - flowey e 9 flowey_lib_hvlite::init_cross_build 3 + flowey e 9 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build igvmfilegen run: |- @@ -7975,7 +7975,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 4 - flowey e 9 flowey_lib_hvlite::init_cross_build 6 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8029,14 +8029,7 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 6 - shell: bash - - name: unpack openvmm-deps archive - run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 - shell: bash - - name: extract X86_64 sysroot.tar.gz - run: |- - flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 + flowey e 9 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: build + archive 'vmm_tests' nextests run: |- diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 62fa6d3bd9..3e7db606f3 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -6445,7 +6445,7 @@ jobs: name: _internal-flowey-bootstrap-x86_64-windows-uid-6 path: ${{ runner.temp }}/bootstrapped-flowey job6: - name: build artifacts [aarch64-linux] (shared) + name: build artifacts (shared VMM tests) [aarch64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -6713,7 +6713,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ include-hidden-files: true job7: - name: build artifacts [aarch64-linux] (for VMM tests) + name: build artifacts (for VMM tests) [aarch64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -6949,7 +6949,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true job8: - name: build artifacts [x64-linux] (shared) + name: build artifacts (shared VMM tests) [x64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7217,7 +7217,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ include-hidden-files: true job9: - name: build artifacts [x64-linux] (for VMM tests) + name: build artifacts (for VMM tests) [x64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7342,7 +7342,7 @@ jobs: - name: symlink protoc run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 1 + flowey e 9 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm run: |- @@ -7355,7 +7355,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 5 flowey e 9 flowey_lib_hvlite::build_openvmm 0 flowey e 9 flowey_core::pipeline::artifact::publish 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 2 + flowey e 9 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -7368,7 +7368,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 9 flowey_core::pipeline::artifact::publish 1 - flowey e 9 flowey_lib_hvlite::init_cross_build 5 + flowey e 9 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- @@ -7381,7 +7381,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 10 flowey e 9 flowey_lib_hvlite::build_vmgstool 0 flowey e 9 flowey_core::pipeline::artifact::publish 2 - flowey e 9 flowey_lib_hvlite::init_cross_build 4 + flowey e 9 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgs_lib run: |- @@ -7394,7 +7394,7 @@ jobs: flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 9 flowey_core::pipeline::artifact::publish 3 - flowey e 9 flowey_lib_hvlite::init_cross_build 3 + flowey e 9 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build igvmfilegen run: |- @@ -7407,7 +7407,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 4 - flowey e 9 flowey_lib_hvlite::init_cross_build 6 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7461,14 +7461,7 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 6 - shell: bash - - name: unpack openvmm-deps archive - run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 - shell: bash - - name: extract X86_64 sysroot.tar.gz - run: |- - flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 + flowey e 9 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: build + archive 'vmm_tests' nextests run: |- diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 98057bcdc9..6b4944fb3d 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -6903,7 +6903,7 @@ jobs: name: _internal-flowey-bootstrap-x86_64-windows-uid-6 path: ${{ runner.temp }}/bootstrapped-flowey job6: - name: build artifacts [aarch64-linux] (shared) + name: build artifacts (shared VMM tests) [aarch64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7171,7 +7171,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ include-hidden-files: true job7: - name: build artifacts [aarch64-linux] (for VMM tests) + name: build artifacts (for VMM tests) [aarch64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7407,7 +7407,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ include-hidden-files: true job8: - name: build artifacts [x64-linux] (shared) + name: build artifacts (shared VMM tests) [x64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7675,7 +7675,7 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ include-hidden-files: true job9: - name: build artifacts [x64-linux] (for VMM tests) + name: build artifacts (for VMM tests) [x64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -7800,7 +7800,7 @@ jobs: - name: symlink protoc run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 1 + flowey e 9 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm run: |- @@ -7813,7 +7813,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 5 flowey e 9 flowey_lib_hvlite::build_openvmm 0 flowey e 9 flowey_core::pipeline::artifact::publish 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 2 + flowey e 9 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -7826,7 +7826,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 9 flowey_core::pipeline::artifact::publish 1 - flowey e 9 flowey_lib_hvlite::init_cross_build 5 + flowey e 9 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- @@ -7839,7 +7839,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 10 flowey e 9 flowey_lib_hvlite::build_vmgstool 0 flowey e 9 flowey_core::pipeline::artifact::publish 2 - flowey e 9 flowey_lib_hvlite::init_cross_build 4 + flowey e 9 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgs_lib run: |- @@ -7852,7 +7852,7 @@ jobs: flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 9 flowey_core::pipeline::artifact::publish 3 - flowey e 9 flowey_lib_hvlite::init_cross_build 3 + flowey e 9 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build igvmfilegen run: |- @@ -7865,7 +7865,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 4 - flowey e 9 flowey_lib_hvlite::init_cross_build 6 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7919,14 +7919,7 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 6 - shell: bash - - name: unpack openvmm-deps archive - run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 - shell: bash - - name: extract X86_64 sysroot.tar.gz - run: |- - flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 + flowey e 9 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: build + archive 'vmm_tests' nextests run: |- diff --git a/ci-flowey/openvmm-pr.yaml b/ci-flowey/openvmm-pr.yaml index 4e04671b2b..6212011285 100644 --- a/ci-flowey/openvmm-pr.yaml +++ b/ci-flowey/openvmm-pr.yaml @@ -1810,7 +1810,7 @@ jobs: displayName: πŸŒΌπŸ“¦ Publish aarch64-openhcl-igvm-extras artifact: aarch64-openhcl-igvm-extras - job: job9 - displayName: build artifacts [x64-linux] (for VMM tests) + displayName: build artifacts (for VMM tests) [x64-linux] pool: demands: - ImageOverride -equals ubuntu2404-amd64 @@ -1925,7 +1925,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 1 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 2 displayName: symlink protoc - bash: |- set -e @@ -1938,7 +1938,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 5 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 0 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 2 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 3 displayName: split debug symbols - bash: |- set -e @@ -1951,7 +1951,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 7 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm_vhost 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 1 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 5 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 6 displayName: split debug symbols - bash: |- set -e @@ -1964,7 +1964,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 10 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_vmgstool 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 2 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 4 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 5 displayName: split debug symbols - bash: |- set -e @@ -1977,7 +1977,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 3 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 3 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 4 displayName: test vmgs_lib - bash: |- set -e @@ -1990,7 +1990,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_igvmfilegen 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 4 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 6 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 7 displayName: split debug symbols - bash: |- set -e @@ -2044,14 +2044,8 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_nextest_archive 0 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 6 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 1 displayName: build + archive 'vmm_tests' nextests - - bash: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 - displayName: unpack openvmm-deps archive - - bash: |- - set -e - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 7 - displayName: extract X86_64 sysroot.tar.gz - bash: |- set -e $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_nextest_archive 1 @@ -2087,7 +2081,7 @@ jobs: displayName: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive artifact: x64-linux-vmm-tests-archive - job: job8 - displayName: build artifacts [x64-linux] (shared) + displayName: build artifacts (shared VMM tests) [x64-linux] pool: demands: - ImageOverride -equals ubuntu2404-amd64 @@ -2322,7 +2316,7 @@ jobs: displayName: πŸŒΌπŸ“¦ Publish x64-tmks artifact: x64-tmks - job: job7 - displayName: build artifacts [aarch64-linux] (for VMM tests) + displayName: build artifacts (for VMM tests) [aarch64-linux] pool: demands: - ImageOverride -equals ubuntu2404-amd64 @@ -2529,7 +2523,7 @@ jobs: displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-vmgstool artifact: aarch64-linux-vmgstool - job: job6 - displayName: build artifacts [aarch64-linux] (shared) + displayName: build artifacts (shared VMM tests) [aarch64-linux] pool: demands: - ImageOverride -equals ubuntu2404-amd64 diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index ffa23c4830..dcb806fb1b 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -735,106 +735,117 @@ impl IntoPipeline for CheckinGatesCli { } // Emit a job for building dependencies used by just linux vmm tests - // No ARM64 VMM tests yet - if matches!(arch, CommonArch::X86_64) { - let pub_vmm_tests_archive_linux_x86 = - pub_vmm_tests_archive_linux_x86.take().unwrap(); - let pub_vmm_tests_archive_linux_musl_x86 = - pub_vmm_tests_archive_linux_musl_x86.take().unwrap(); - let job = pipeline - .new_job( - FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), - FlowArch::X86_64, - format!("build artifacts (for VMM tests) [{arch_tag}-linux]"), - ) - .gh_set_pool(gh_pools::default_linux()) - .ado_set_pool(ado_pools::default_linux()) - .publish(pub_openvmm, |openvmm| { - flowey_lib_hvlite::build_openvmm::Request { - params: flowey_lib_hvlite::build_openvmm::OpenvmmBuildParams { + let mut job = pipeline + .new_job( + FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), + FlowArch::X86_64, + format!("build artifacts (for VMM tests) [{arch_tag}-linux]"), + ) + .gh_set_pool(gh_pools::default_linux()) + .ado_set_pool(ado_pools::default_linux()) + .publish(pub_openvmm, |openvmm| { + flowey_lib_hvlite::build_openvmm::Request { + params: flowey_lib_hvlite::build_openvmm::OpenvmmBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release), + // FIXME: this relies on openvmm default features + features: [flowey_lib_hvlite::build_openvmm::OpenvmmFeature::Tpm] + .into(), + }, + openvmm, + } + }) + .publish(pub_openvmm_vhost, |openvmm_vhost| { + flowey_lib_hvlite::build_openvmm_vhost::Request { + params: flowey_lib_hvlite::build_openvmm_vhost::OpenvmmVhostBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release), + }, + openvmm_vhost, + } + }) + .publish(pub_vmgstool, |vmgstool| { + flowey_lib_hvlite::build_vmgstool::Request { + target: vmgstool_target, + profile: CommonProfile::from_release(release), + with_crypto: true, + with_test_helpers: true, + vmgstool, + } + }) + .publish(pub_vmgs_lib, |vmgs_lib| { + flowey_lib_hvlite::build_and_test_vmgs_lib::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release), + vmgs_lib, + } + }) + .publish(pub_igvmfilegen, |igvmfilegen| { + flowey_lib_hvlite::build_igvmfilegen::Request { + build_params: + flowey_lib_hvlite::build_igvmfilegen::IgvmfilegenBuildParams { target: CommonTriple::Common { arch, platform: CommonPlatform::LinuxGnu, }, - profile: CommonProfile::from_release(release), - // FIXME: this relies on openvmm default features - features: [flowey_lib_hvlite::build_openvmm::OpenvmmFeature::Tpm] - .into(), + profile: CommonProfile::from_release(release).into(), }, - openvmm, - } - }) - .publish(pub_openvmm_vhost, |openvmm_vhost| { - flowey_lib_hvlite::build_openvmm_vhost::Request { - params: - flowey_lib_hvlite::build_openvmm_vhost::OpenvmmVhostBuildParams { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxGnu, - }, - profile: CommonProfile::from_release(release), - }, - openvmm_vhost, - } - }) - .publish(pub_vmgstool, |vmgstool| { - flowey_lib_hvlite::build_vmgstool::Request { - target: vmgstool_target, - profile: CommonProfile::from_release(release), - with_crypto: true, - with_test_helpers: true, - vmgstool, - } - }) - .publish(pub_vmgs_lib, |vmgs_lib| { - flowey_lib_hvlite::build_and_test_vmgs_lib::Request { + igvmfilegen, + } + }) + .publish(pub_ohcldiag_dev, |ohcldiag_dev| { + flowey_lib_hvlite::build_ohcldiag_dev::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release), + ohcldiag_dev, + } + }); + + // No ARM64 VMM tests yet + if matches!(arch, CommonArch::X86_64) { + let pub_vmm_tests_archive_linux = pub_vmm_tests_archive_linux_x86.take().unwrap(); + let pub_vmm_tests_archive_linux_musl = + pub_vmm_tests_archive_linux_musl_x86.take().unwrap(); + + job = job.publish(pub_vmm_tests_archive_linux, |archive| { + flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::Common { arch, platform: CommonPlatform::LinuxGnu, - }, + }.as_triple(), profile: CommonProfile::from_release(release), - vmgs_lib, + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( + archive, + ), } - }) - .publish(pub_igvmfilegen, |igvmfilegen| { - flowey_lib_hvlite::build_igvmfilegen::Request { - build_params: - flowey_lib_hvlite::build_igvmfilegen::IgvmfilegenBuildParams { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxGnu, - }, - profile: CommonProfile::from_release(release).into(), - }, - igvmfilegen, - } - }) - .publish(pub_ohcldiag_dev, |ohcldiag_dev| { - flowey_lib_hvlite::build_ohcldiag_dev::Request { + }).publish(pub_vmm_tests_archive_linux_musl, |archive| { + flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::Common { arch, platform: CommonPlatform::LinuxGnu, - }, + }.as_triple(), profile: CommonProfile::from_release(release), - ohcldiag_dev, + build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( + archive, + ), } - }).publish(pub_vmm_tests_archive_linux_x86, |archive| 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( - archive, - ), - }).publish(pub_vmm_tests_archive_linux_musl_x86, |archive| flowey_lib_hvlite::build_nextest_vmm_tests::Request { - target: CommonTriple::X86_64_LINUX_MUSL.as_triple(), - profile: CommonProfile::from_release(release), - build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( - archive, - ), - }); - - all_jobs.push(job.finish()); + }); } + + all_jobs.push(job.finish()); } // emit openhcl build job From 2cc9de7f10e8767e336a31d667ca01597def6add Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Fri, 1 May 2026 12:30:24 -0400 Subject: [PATCH 04/14] more cleanup --- .github/workflows/openvmm-ci.yaml | 318 +++++++++--------- .github/workflows/openvmm-pr-release.yaml | 318 +++++++++--------- .github/workflows/openvmm-pr.yaml | 318 +++++++++--------- ci-flowey/openvmm-pr.yaml | 292 ++++++++-------- .../src/pipelines/checkin_gates.rs | 179 +++++----- 5 files changed, 740 insertions(+), 685 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index edc998fda4..243bc8017e 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -6924,10 +6924,6 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" @@ -7010,7 +7006,7 @@ jobs: - name: symlink protoc run: |- flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 6 flowey_lib_hvlite::init_cross_build 6 + flowey e 6 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build guest_test_uefi run: |- @@ -7022,31 +7018,31 @@ jobs: flowey e 6 flowey_lib_hvlite::build_guest_test_uefi 0 flowey e 6 flowey_core::pipeline::artifact::publish 0 flowey e 6 flowey_lib_hvlite::init_cross_build 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 7 - flowey e 6 flowey_lib_hvlite::run_cargo_build 8 + flowey e 6 flowey_lib_hvlite::run_cargo_build 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 4 shell: bash - name: cargo build simple_tmk run: |- - flowey e 6 flowey_lib_common::run_cargo_build 4 - flowey e 6 flowey_lib_hvlite::run_cargo_build 9 + flowey e 6 flowey_lib_common::run_cargo_build 2 + flowey e 6 flowey_lib_hvlite::run_cargo_build 5 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 6 flowey_lib_hvlite::run_cargo_build 10 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 6 flowey_lib_hvlite::run_cargo_build 6 flowey e 6 flowey_lib_hvlite::build_tmks 0 flowey e 6 flowey_core::pipeline::artifact::publish 1 flowey e 6 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build tpm_guest_tests run: |- - flowey e 6 flowey_lib_common::run_cargo_build 6 - flowey e 6 flowey_lib_hvlite::run_cargo_build 13 + flowey e 6 flowey_lib_common::run_cargo_build 4 + flowey e 6 flowey_lib_hvlite::run_cargo_build 9 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 4 - flowey e 6 flowey_lib_hvlite::run_cargo_build 14 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 6 flowey_lib_hvlite::run_cargo_build 10 flowey e 6 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey e 6 flowey_core::pipeline::artifact::publish 2 shell: bash @@ -7060,54 +7056,28 @@ jobs: shell: bash - name: cargo build pipette run: |- - flowey e 6 flowey_lib_common::run_cargo_build 3 - flowey e 6 flowey_lib_hvlite::run_cargo_build 5 + flowey e 6 flowey_lib_common::run_cargo_build 1 + flowey e 6 flowey_lib_hvlite::run_cargo_build 1 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 6 flowey_lib_hvlite::run_cargo_build 6 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 2 flowey e 6 flowey_lib_hvlite::build_pipette 0 flowey e 6 flowey_core::pipeline::artifact::publish 3 - flowey e 6 flowey_lib_hvlite::init_cross_build 4 + flowey e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build tmk_vmm run: |- - flowey e 6 flowey_lib_common::run_cargo_build 5 - flowey e 6 flowey_lib_hvlite::run_cargo_build 11 + flowey e 6 flowey_lib_common::run_cargo_build 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 7 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 6 flowey_lib_hvlite::run_cargo_build 12 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 + flowey e 6 flowey_lib_hvlite::run_cargo_build 8 flowey e 6 flowey_lib_hvlite::build_tmk_vmm 0 flowey e 6 flowey_core::pipeline::artifact::publish 4 - flowey e 6 flowey_lib_hvlite::init_cross_build 5 - shell: bash - - name: cargo build openvmm - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 1 - flowey e 6 flowey_lib_hvlite::run_cargo_build 1 - shell: bash - - name: split debug symbols - run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 5 - flowey e 6 flowey_lib_hvlite::run_cargo_build 2 - flowey e 6 flowey_lib_hvlite::build_openvmm 0 - flowey e 6 flowey_core::pipeline::artifact::publish 5 - flowey e 6 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo build openvmm_vhost - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 2 - flowey e 6 flowey_lib_hvlite::run_cargo_build 3 - shell: bash - - name: split debug symbols - run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 4 - flowey e 6 flowey_lib_hvlite::build_openvmm_vhost 0 - flowey e 6 flowey_core::pipeline::artifact::publish 6 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 6 flowey_lib_common::cache 3 @@ -7118,18 +7088,6 @@ jobs: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm - uses: actions/upload-artifact@v7 - with: - name: aarch64-linux-musl-openvmm - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost - uses: actions/upload-artifact@v7 - with: - name: aarch64-linux-musl-openvmm_vhost - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v7 with: @@ -7234,6 +7192,10 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -7331,42 +7293,42 @@ jobs: flowey e 7 flowey_lib_hvlite::run_cargo_build 5 flowey e 7 flowey_lib_hvlite::build_openvmm 0 flowey e 7 flowey_core::pipeline::artifact::publish 0 - flowey e 7 flowey_lib_hvlite::init_cross_build 1 + flowey e 7 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm_vhost run: |- - flowey e 7 flowey_lib_common::run_cargo_build 3 - flowey e 7 flowey_lib_hvlite::run_cargo_build 6 + flowey e 7 flowey_lib_common::run_cargo_build 4 + flowey e 7 flowey_lib_hvlite::run_cargo_build 8 shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 7 flowey_lib_hvlite::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 7 flowey_lib_hvlite::run_cargo_build 9 flowey e 7 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 7 flowey_core::pipeline::artifact::publish 1 flowey e 7 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgstool run: |- - flowey e 7 flowey_lib_common::run_cargo_build 5 - flowey e 7 flowey_lib_hvlite::run_cargo_build 9 + flowey e 7 flowey_lib_common::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::run_cargo_build 13 shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 7 flowey_lib_hvlite::run_cargo_build 10 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 6 + flowey e 7 flowey_lib_hvlite::run_cargo_build 14 flowey e 7 flowey_lib_hvlite::build_vmgstool 0 flowey e 7 flowey_core::pipeline::artifact::publish 2 flowey e 7 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build vmgs_lib run: |- - flowey e 7 flowey_lib_common::run_cargo_build 4 - flowey e 7 flowey_lib_hvlite::run_cargo_build 8 + flowey e 7 flowey_lib_common::run_cargo_build 6 + flowey e 7 flowey_lib_hvlite::run_cargo_build 12 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 7 flowey_core::pipeline::artifact::publish 3 - flowey e 7 flowey_lib_hvlite::init_cross_build 2 + flowey e 7 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build igvmfilegen run: |- @@ -7375,7 +7337,7 @@ jobs: shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 5 flowey e 7 flowey_lib_hvlite::run_cargo_build 1 flowey e 7 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 7 flowey_core::pipeline::artifact::publish 4 @@ -7393,6 +7355,39 @@ jobs: flowey e 7 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey e 7 flowey_core::pipeline::artifact::publish 5 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 7 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract Aarch64 sysroot.tar.gz + run: |- + flowey e 7 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + flowey e 7 flowey_lib_hvlite::init_cross_build 6 + shell: bash + - name: cargo build openvmm + run: |- + flowey e 7 flowey_lib_common::run_cargo_build 3 + flowey e 7 flowey_lib_hvlite::run_cargo_build 6 + shell: bash + - name: split debug symbols + run: |- + flowey e 7 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 7 flowey_lib_hvlite::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::build_openvmm 1 + flowey e 7 flowey_core::pipeline::artifact::publish 6 + flowey e 7 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build openvmm_vhost + run: |- + flowey e 7 flowey_lib_common::run_cargo_build 5 + flowey e 7 flowey_lib_hvlite::run_cargo_build 10 + shell: bash + - name: split debug symbols + run: |- + flowey e 7 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 7 flowey_lib_hvlite::run_cargo_build 11 + flowey e 7 flowey_lib_hvlite::build_openvmm_vhost 1 + flowey e 7 flowey_core::pipeline::artifact::publish 7 + shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 7 flowey_lib_common::cache 3 shell: bash @@ -7402,6 +7397,18 @@ jobs: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm + uses: actions/upload-artifact@v7 + with: + name: aarch64-linux-musl-openvmm + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost + uses: actions/upload-artifact@v7 + with: + name: aarch64-linux-musl-openvmm_vhost + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v7 with: @@ -7512,10 +7519,6 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 8 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 8 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" @@ -7598,7 +7601,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build guest_test_uefi run: |- @@ -7610,31 +7613,31 @@ jobs: flowey e 8 flowey_lib_hvlite::build_guest_test_uefi 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 flowey e 8 flowey_lib_hvlite::init_cross_build 0 - flowey e 8 flowey_lib_hvlite::run_cargo_build 7 - flowey e 8 flowey_lib_hvlite::run_cargo_build 8 + flowey e 8 flowey_lib_hvlite::run_cargo_build 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 4 shell: bash - name: cargo build simple_tmk run: |- - flowey e 8 flowey_lib_common::run_cargo_build 4 - flowey e 8 flowey_lib_hvlite::run_cargo_build 9 + flowey e 8 flowey_lib_common::run_cargo_build 2 + flowey e 8 flowey_lib_hvlite::run_cargo_build 5 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 8 flowey_lib_hvlite::run_cargo_build 10 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 8 flowey_lib_hvlite::run_cargo_build 6 flowey e 8 flowey_lib_hvlite::build_tmks 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build tpm_guest_tests run: |- - flowey e 8 flowey_lib_common::run_cargo_build 6 - flowey e 8 flowey_lib_hvlite::run_cargo_build 13 + flowey e 8 flowey_lib_common::run_cargo_build 4 + flowey e 8 flowey_lib_hvlite::run_cargo_build 9 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 4 - flowey e 8 flowey_lib_hvlite::run_cargo_build 14 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 8 flowey_lib_hvlite::run_cargo_build 10 flowey e 8 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 shell: bash @@ -7648,54 +7651,28 @@ jobs: shell: bash - name: cargo build pipette run: |- - flowey e 8 flowey_lib_common::run_cargo_build 3 - flowey e 8 flowey_lib_hvlite::run_cargo_build 5 + flowey e 8 flowey_lib_common::run_cargo_build 1 + flowey e 8 flowey_lib_hvlite::run_cargo_build 1 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 8 flowey_lib_hvlite::run_cargo_build 6 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 2 flowey e 8 flowey_lib_hvlite::build_pipette 0 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build tmk_vmm run: |- - flowey e 8 flowey_lib_common::run_cargo_build 5 - flowey e 8 flowey_lib_hvlite::run_cargo_build 11 + flowey e 8 flowey_lib_common::run_cargo_build 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 7 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 8 flowey_lib_hvlite::run_cargo_build 12 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 1 + flowey e 8 flowey_lib_hvlite::run_cargo_build 8 flowey e 8 flowey_lib_hvlite::build_tmk_vmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 - shell: bash - - name: cargo build openvmm - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 1 - flowey e 8 flowey_lib_hvlite::run_cargo_build 1 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 5 - flowey e 8 flowey_lib_hvlite::run_cargo_build 2 - flowey e 8 flowey_lib_hvlite::build_openvmm 0 - flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo build openvmm_vhost - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 2 - flowey e 8 flowey_lib_hvlite::run_cargo_build 3 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 8 flowey_lib_hvlite::run_cargo_build 4 - flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 - flowey e 8 flowey_core::pipeline::artifact::publish 6 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 8 flowey_lib_common::cache 3 @@ -7706,18 +7683,6 @@ jobs: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm - uses: actions/upload-artifact@v7 - with: - name: x64-linux-musl-openvmm - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost - uses: actions/upload-artifact@v7 - with: - name: x64-linux-musl-openvmm_vhost - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-pipette uses: actions/upload-artifact@v7 with: @@ -7822,6 +7787,10 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 9 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -7923,38 +7892,38 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 5 flowey e 9 flowey_lib_hvlite::build_openvmm 0 flowey e 9 flowey_core::pipeline::artifact::publish 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 3 + flowey e 9 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build openvmm_vhost run: |- - flowey e 9 flowey_lib_common::run_cargo_build 3 - flowey e 9 flowey_lib_hvlite::run_cargo_build 6 + flowey e 9 flowey_lib_common::run_cargo_build 4 + flowey e 9 flowey_lib_hvlite::run_cargo_build 8 shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 9 flowey_lib_hvlite::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 9 flowey_lib_hvlite::run_cargo_build 9 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 9 flowey_core::pipeline::artifact::publish 1 flowey e 9 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- - flowey e 9 flowey_lib_common::run_cargo_build 5 - flowey e 9 flowey_lib_hvlite::run_cargo_build 9 + flowey e 9 flowey_lib_common::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::run_cargo_build 13 shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 9 flowey_lib_hvlite::run_cargo_build 10 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 6 + flowey e 9 flowey_lib_hvlite::run_cargo_build 14 flowey e 9 flowey_lib_hvlite::build_vmgstool 0 flowey e 9 flowey_core::pipeline::artifact::publish 2 flowey e 9 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgs_lib run: |- - flowey e 9 flowey_lib_common::run_cargo_build 4 - flowey e 9 flowey_lib_hvlite::run_cargo_build 8 + flowey e 9 flowey_lib_common::run_cargo_build 6 + flowey e 9 flowey_lib_hvlite::run_cargo_build 12 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 0 shell: bash - name: test vmgs_lib @@ -7962,7 +7931,7 @@ jobs: flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 9 flowey_core::pipeline::artifact::publish 3 - flowey e 9 flowey_lib_hvlite::init_cross_build 4 + flowey e 9 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -7971,7 +7940,7 @@ jobs: shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 5 flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 4 @@ -7989,6 +7958,39 @@ jobs: flowey e 9 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract X86_64 sysroot.tar.gz + run: |- + flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 + shell: bash + - name: cargo build openvmm + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 3 + flowey e 9 flowey_lib_hvlite::run_cargo_build 6 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 9 flowey_lib_hvlite::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::build_openvmm 1 + flowey e 9 flowey_core::pipeline::artifact::publish 6 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 + shell: bash + - name: cargo build openvmm_vhost + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 5 + flowey e 9 flowey_lib_hvlite::run_cargo_build 10 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 9 flowey_lib_hvlite::run_cargo_build 11 + flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 + flowey e 9 flowey_core::pipeline::artifact::publish 7 + shell: bash - name: create cargo-nextest cache dir run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 @@ -8028,14 +8030,14 @@ jobs: run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 - flowey e 9 flowey_core::pipeline::artifact::publish 6 + flowey e 9 flowey_core::pipeline::artifact::publish 8 flowey e 9 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 - flowey e 9 flowey_core::pipeline::artifact::publish 7 + flowey e 9 flowey_core::pipeline::artifact::publish 9 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -8049,6 +8051,18 @@ jobs: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-openvmm + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-openvmm_vhost + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@v7 with: diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 3e7db606f3..b21a7dde2d 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -6482,10 +6482,6 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" @@ -6568,7 +6564,7 @@ jobs: - name: symlink protoc run: |- flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 6 flowey_lib_hvlite::init_cross_build 6 + flowey e 6 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build guest_test_uefi run: |- @@ -6580,31 +6576,31 @@ jobs: flowey e 6 flowey_lib_hvlite::build_guest_test_uefi 0 flowey e 6 flowey_core::pipeline::artifact::publish 0 flowey e 6 flowey_lib_hvlite::init_cross_build 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 7 - flowey e 6 flowey_lib_hvlite::run_cargo_build 8 + flowey e 6 flowey_lib_hvlite::run_cargo_build 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 4 shell: bash - name: cargo build simple_tmk run: |- - flowey e 6 flowey_lib_common::run_cargo_build 4 - flowey e 6 flowey_lib_hvlite::run_cargo_build 9 + flowey e 6 flowey_lib_common::run_cargo_build 2 + flowey e 6 flowey_lib_hvlite::run_cargo_build 5 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 6 flowey_lib_hvlite::run_cargo_build 10 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 6 flowey_lib_hvlite::run_cargo_build 6 flowey e 6 flowey_lib_hvlite::build_tmks 0 flowey e 6 flowey_core::pipeline::artifact::publish 1 flowey e 6 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build tpm_guest_tests run: |- - flowey e 6 flowey_lib_common::run_cargo_build 6 - flowey e 6 flowey_lib_hvlite::run_cargo_build 13 + flowey e 6 flowey_lib_common::run_cargo_build 4 + flowey e 6 flowey_lib_hvlite::run_cargo_build 9 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 4 - flowey e 6 flowey_lib_hvlite::run_cargo_build 14 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 6 flowey_lib_hvlite::run_cargo_build 10 flowey e 6 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey e 6 flowey_core::pipeline::artifact::publish 2 shell: bash @@ -6618,54 +6614,28 @@ jobs: shell: bash - name: cargo build pipette run: |- - flowey e 6 flowey_lib_common::run_cargo_build 3 - flowey e 6 flowey_lib_hvlite::run_cargo_build 5 + flowey e 6 flowey_lib_common::run_cargo_build 1 + flowey e 6 flowey_lib_hvlite::run_cargo_build 1 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 6 flowey_lib_hvlite::run_cargo_build 6 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 2 flowey e 6 flowey_lib_hvlite::build_pipette 0 flowey e 6 flowey_core::pipeline::artifact::publish 3 - flowey e 6 flowey_lib_hvlite::init_cross_build 4 + flowey e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build tmk_vmm run: |- - flowey e 6 flowey_lib_common::run_cargo_build 5 - flowey e 6 flowey_lib_hvlite::run_cargo_build 11 + flowey e 6 flowey_lib_common::run_cargo_build 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 7 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 6 flowey_lib_hvlite::run_cargo_build 12 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 + flowey e 6 flowey_lib_hvlite::run_cargo_build 8 flowey e 6 flowey_lib_hvlite::build_tmk_vmm 0 flowey e 6 flowey_core::pipeline::artifact::publish 4 - flowey e 6 flowey_lib_hvlite::init_cross_build 5 - shell: bash - - name: cargo build openvmm - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 1 - flowey e 6 flowey_lib_hvlite::run_cargo_build 1 - shell: bash - - name: split debug symbols - run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 5 - flowey e 6 flowey_lib_hvlite::run_cargo_build 2 - flowey e 6 flowey_lib_hvlite::build_openvmm 0 - flowey e 6 flowey_core::pipeline::artifact::publish 5 - flowey e 6 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo build openvmm_vhost - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 2 - flowey e 6 flowey_lib_hvlite::run_cargo_build 3 - shell: bash - - name: split debug symbols - run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 4 - flowey e 6 flowey_lib_hvlite::build_openvmm_vhost 0 - flowey e 6 flowey_core::pipeline::artifact::publish 6 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 6 flowey_lib_common::cache 3 @@ -6676,18 +6646,6 @@ jobs: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm - uses: actions/upload-artifact@v7 - with: - name: aarch64-linux-musl-openvmm - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost - uses: actions/upload-artifact@v7 - with: - name: aarch64-linux-musl-openvmm_vhost - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v7 with: @@ -6750,6 +6708,10 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -6847,42 +6809,42 @@ jobs: flowey e 7 flowey_lib_hvlite::run_cargo_build 5 flowey e 7 flowey_lib_hvlite::build_openvmm 0 flowey e 7 flowey_core::pipeline::artifact::publish 0 - flowey e 7 flowey_lib_hvlite::init_cross_build 1 + flowey e 7 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm_vhost run: |- - flowey e 7 flowey_lib_common::run_cargo_build 3 - flowey e 7 flowey_lib_hvlite::run_cargo_build 6 + flowey e 7 flowey_lib_common::run_cargo_build 4 + flowey e 7 flowey_lib_hvlite::run_cargo_build 8 shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 7 flowey_lib_hvlite::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 7 flowey_lib_hvlite::run_cargo_build 9 flowey e 7 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 7 flowey_core::pipeline::artifact::publish 1 flowey e 7 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgstool run: |- - flowey e 7 flowey_lib_common::run_cargo_build 5 - flowey e 7 flowey_lib_hvlite::run_cargo_build 9 + flowey e 7 flowey_lib_common::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::run_cargo_build 13 shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 7 flowey_lib_hvlite::run_cargo_build 10 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 6 + flowey e 7 flowey_lib_hvlite::run_cargo_build 14 flowey e 7 flowey_lib_hvlite::build_vmgstool 0 flowey e 7 flowey_core::pipeline::artifact::publish 2 flowey e 7 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build vmgs_lib run: |- - flowey e 7 flowey_lib_common::run_cargo_build 4 - flowey e 7 flowey_lib_hvlite::run_cargo_build 8 + flowey e 7 flowey_lib_common::run_cargo_build 6 + flowey e 7 flowey_lib_hvlite::run_cargo_build 12 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 7 flowey_core::pipeline::artifact::publish 3 - flowey e 7 flowey_lib_hvlite::init_cross_build 2 + flowey e 7 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build igvmfilegen run: |- @@ -6891,7 +6853,7 @@ jobs: shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 5 flowey e 7 flowey_lib_hvlite::run_cargo_build 1 flowey e 7 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 7 flowey_core::pipeline::artifact::publish 4 @@ -6909,6 +6871,39 @@ jobs: flowey e 7 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey e 7 flowey_core::pipeline::artifact::publish 5 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 7 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract Aarch64 sysroot.tar.gz + run: |- + flowey e 7 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + flowey e 7 flowey_lib_hvlite::init_cross_build 6 + shell: bash + - name: cargo build openvmm + run: |- + flowey e 7 flowey_lib_common::run_cargo_build 3 + flowey e 7 flowey_lib_hvlite::run_cargo_build 6 + shell: bash + - name: split debug symbols + run: |- + flowey e 7 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 7 flowey_lib_hvlite::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::build_openvmm 1 + flowey e 7 flowey_core::pipeline::artifact::publish 6 + flowey e 7 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build openvmm_vhost + run: |- + flowey e 7 flowey_lib_common::run_cargo_build 5 + flowey e 7 flowey_lib_hvlite::run_cargo_build 10 + shell: bash + - name: split debug symbols + run: |- + flowey e 7 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 7 flowey_lib_hvlite::run_cargo_build 11 + flowey e 7 flowey_lib_hvlite::build_openvmm_vhost 1 + flowey e 7 flowey_core::pipeline::artifact::publish 7 + shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 7 flowey_lib_common::cache 3 shell: bash @@ -6918,6 +6913,18 @@ jobs: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm + uses: actions/upload-artifact@v7 + with: + name: aarch64-linux-musl-openvmm + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost + uses: actions/upload-artifact@v7 + with: + name: aarch64-linux-musl-openvmm_vhost + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v7 with: @@ -6986,10 +6993,6 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 8 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 8 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" @@ -7072,7 +7075,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build guest_test_uefi run: |- @@ -7084,31 +7087,31 @@ jobs: flowey e 8 flowey_lib_hvlite::build_guest_test_uefi 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 flowey e 8 flowey_lib_hvlite::init_cross_build 0 - flowey e 8 flowey_lib_hvlite::run_cargo_build 7 - flowey e 8 flowey_lib_hvlite::run_cargo_build 8 + flowey e 8 flowey_lib_hvlite::run_cargo_build 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 4 shell: bash - name: cargo build simple_tmk run: |- - flowey e 8 flowey_lib_common::run_cargo_build 4 - flowey e 8 flowey_lib_hvlite::run_cargo_build 9 + flowey e 8 flowey_lib_common::run_cargo_build 2 + flowey e 8 flowey_lib_hvlite::run_cargo_build 5 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 8 flowey_lib_hvlite::run_cargo_build 10 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 8 flowey_lib_hvlite::run_cargo_build 6 flowey e 8 flowey_lib_hvlite::build_tmks 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build tpm_guest_tests run: |- - flowey e 8 flowey_lib_common::run_cargo_build 6 - flowey e 8 flowey_lib_hvlite::run_cargo_build 13 + flowey e 8 flowey_lib_common::run_cargo_build 4 + flowey e 8 flowey_lib_hvlite::run_cargo_build 9 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 4 - flowey e 8 flowey_lib_hvlite::run_cargo_build 14 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 8 flowey_lib_hvlite::run_cargo_build 10 flowey e 8 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 shell: bash @@ -7122,54 +7125,28 @@ jobs: shell: bash - name: cargo build pipette run: |- - flowey e 8 flowey_lib_common::run_cargo_build 3 - flowey e 8 flowey_lib_hvlite::run_cargo_build 5 + flowey e 8 flowey_lib_common::run_cargo_build 1 + flowey e 8 flowey_lib_hvlite::run_cargo_build 1 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 8 flowey_lib_hvlite::run_cargo_build 6 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 2 flowey e 8 flowey_lib_hvlite::build_pipette 0 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build tmk_vmm run: |- - flowey e 8 flowey_lib_common::run_cargo_build 5 - flowey e 8 flowey_lib_hvlite::run_cargo_build 11 + flowey e 8 flowey_lib_common::run_cargo_build 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 7 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 8 flowey_lib_hvlite::run_cargo_build 12 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 1 + flowey e 8 flowey_lib_hvlite::run_cargo_build 8 flowey e 8 flowey_lib_hvlite::build_tmk_vmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 - shell: bash - - name: cargo build openvmm - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 1 - flowey e 8 flowey_lib_hvlite::run_cargo_build 1 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 5 - flowey e 8 flowey_lib_hvlite::run_cargo_build 2 - flowey e 8 flowey_lib_hvlite::build_openvmm 0 - flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo build openvmm_vhost - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 2 - flowey e 8 flowey_lib_hvlite::run_cargo_build 3 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 8 flowey_lib_hvlite::run_cargo_build 4 - flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 - flowey e 8 flowey_core::pipeline::artifact::publish 6 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 8 flowey_lib_common::cache 3 @@ -7180,18 +7157,6 @@ jobs: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm - uses: actions/upload-artifact@v7 - with: - name: x64-linux-musl-openvmm - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost - uses: actions/upload-artifact@v7 - with: - name: x64-linux-musl-openvmm_vhost - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-pipette uses: actions/upload-artifact@v7 with: @@ -7254,6 +7219,10 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 9 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -7355,38 +7324,38 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 5 flowey e 9 flowey_lib_hvlite::build_openvmm 0 flowey e 9 flowey_core::pipeline::artifact::publish 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 3 + flowey e 9 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build openvmm_vhost run: |- - flowey e 9 flowey_lib_common::run_cargo_build 3 - flowey e 9 flowey_lib_hvlite::run_cargo_build 6 + flowey e 9 flowey_lib_common::run_cargo_build 4 + flowey e 9 flowey_lib_hvlite::run_cargo_build 8 shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 9 flowey_lib_hvlite::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 9 flowey_lib_hvlite::run_cargo_build 9 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 9 flowey_core::pipeline::artifact::publish 1 flowey e 9 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- - flowey e 9 flowey_lib_common::run_cargo_build 5 - flowey e 9 flowey_lib_hvlite::run_cargo_build 9 + flowey e 9 flowey_lib_common::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::run_cargo_build 13 shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 9 flowey_lib_hvlite::run_cargo_build 10 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 6 + flowey e 9 flowey_lib_hvlite::run_cargo_build 14 flowey e 9 flowey_lib_hvlite::build_vmgstool 0 flowey e 9 flowey_core::pipeline::artifact::publish 2 flowey e 9 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgs_lib run: |- - flowey e 9 flowey_lib_common::run_cargo_build 4 - flowey e 9 flowey_lib_hvlite::run_cargo_build 8 + flowey e 9 flowey_lib_common::run_cargo_build 6 + flowey e 9 flowey_lib_hvlite::run_cargo_build 12 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 0 shell: bash - name: test vmgs_lib @@ -7394,7 +7363,7 @@ jobs: flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 9 flowey_core::pipeline::artifact::publish 3 - flowey e 9 flowey_lib_hvlite::init_cross_build 4 + flowey e 9 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -7403,7 +7372,7 @@ jobs: shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 5 flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 4 @@ -7421,6 +7390,39 @@ jobs: flowey e 9 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract X86_64 sysroot.tar.gz + run: |- + flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 + shell: bash + - name: cargo build openvmm + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 3 + flowey e 9 flowey_lib_hvlite::run_cargo_build 6 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 9 flowey_lib_hvlite::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::build_openvmm 1 + flowey e 9 flowey_core::pipeline::artifact::publish 6 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 + shell: bash + - name: cargo build openvmm_vhost + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 5 + flowey e 9 flowey_lib_hvlite::run_cargo_build 10 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 9 flowey_lib_hvlite::run_cargo_build 11 + flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 + flowey e 9 flowey_core::pipeline::artifact::publish 7 + shell: bash - name: create cargo-nextest cache dir run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 @@ -7460,14 +7462,14 @@ jobs: run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 - flowey e 9 flowey_core::pipeline::artifact::publish 6 + flowey e 9 flowey_core::pipeline::artifact::publish 8 flowey e 9 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 - flowey e 9 flowey_core::pipeline::artifact::publish 7 + flowey e 9 flowey_core::pipeline::artifact::publish 9 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -7481,6 +7483,18 @@ jobs: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-openvmm + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-openvmm_vhost + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@v7 with: diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 6b4944fb3d..8b76709676 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -6940,10 +6940,6 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" @@ -7026,7 +7022,7 @@ jobs: - name: symlink protoc run: |- flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 6 flowey_lib_hvlite::init_cross_build 6 + flowey e 6 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build guest_test_uefi run: |- @@ -7038,31 +7034,31 @@ jobs: flowey e 6 flowey_lib_hvlite::build_guest_test_uefi 0 flowey e 6 flowey_core::pipeline::artifact::publish 0 flowey e 6 flowey_lib_hvlite::init_cross_build 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 7 - flowey e 6 flowey_lib_hvlite::run_cargo_build 8 + flowey e 6 flowey_lib_hvlite::run_cargo_build 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 4 shell: bash - name: cargo build simple_tmk run: |- - flowey e 6 flowey_lib_common::run_cargo_build 4 - flowey e 6 flowey_lib_hvlite::run_cargo_build 9 + flowey e 6 flowey_lib_common::run_cargo_build 2 + flowey e 6 flowey_lib_hvlite::run_cargo_build 5 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 6 flowey_lib_hvlite::run_cargo_build 10 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 6 flowey_lib_hvlite::run_cargo_build 6 flowey e 6 flowey_lib_hvlite::build_tmks 0 flowey e 6 flowey_core::pipeline::artifact::publish 1 flowey e 6 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build tpm_guest_tests run: |- - flowey e 6 flowey_lib_common::run_cargo_build 6 - flowey e 6 flowey_lib_hvlite::run_cargo_build 13 + flowey e 6 flowey_lib_common::run_cargo_build 4 + flowey e 6 flowey_lib_hvlite::run_cargo_build 9 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 4 - flowey e 6 flowey_lib_hvlite::run_cargo_build 14 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 6 flowey_lib_hvlite::run_cargo_build 10 flowey e 6 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey e 6 flowey_core::pipeline::artifact::publish 2 shell: bash @@ -7076,54 +7072,28 @@ jobs: shell: bash - name: cargo build pipette run: |- - flowey e 6 flowey_lib_common::run_cargo_build 3 - flowey e 6 flowey_lib_hvlite::run_cargo_build 5 + flowey e 6 flowey_lib_common::run_cargo_build 1 + flowey e 6 flowey_lib_hvlite::run_cargo_build 1 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 6 flowey_lib_hvlite::run_cargo_build 6 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 2 flowey e 6 flowey_lib_hvlite::build_pipette 0 flowey e 6 flowey_core::pipeline::artifact::publish 3 - flowey e 6 flowey_lib_hvlite::init_cross_build 4 + flowey e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build tmk_vmm run: |- - flowey e 6 flowey_lib_common::run_cargo_build 5 - flowey e 6 flowey_lib_hvlite::run_cargo_build 11 + flowey e 6 flowey_lib_common::run_cargo_build 3 + flowey e 6 flowey_lib_hvlite::run_cargo_build 7 shell: bash - name: split debug symbols run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 6 flowey_lib_hvlite::run_cargo_build 12 + flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 + flowey e 6 flowey_lib_hvlite::run_cargo_build 8 flowey e 6 flowey_lib_hvlite::build_tmk_vmm 0 flowey e 6 flowey_core::pipeline::artifact::publish 4 - flowey e 6 flowey_lib_hvlite::init_cross_build 5 - shell: bash - - name: cargo build openvmm - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 1 - flowey e 6 flowey_lib_hvlite::run_cargo_build 1 - shell: bash - - name: split debug symbols - run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 5 - flowey e 6 flowey_lib_hvlite::run_cargo_build 2 - flowey e 6 flowey_lib_hvlite::build_openvmm 0 - flowey e 6 flowey_core::pipeline::artifact::publish 5 - flowey e 6 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo build openvmm_vhost - run: |- - flowey e 6 flowey_lib_common::run_cargo_build 2 - flowey e 6 flowey_lib_hvlite::run_cargo_build 3 - shell: bash - - name: split debug symbols - run: |- - flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 6 flowey_lib_hvlite::run_cargo_build 4 - flowey e 6 flowey_lib_hvlite::build_openvmm_vhost 0 - flowey e 6 flowey_core::pipeline::artifact::publish 6 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 6 flowey_lib_common::cache 3 @@ -7134,18 +7104,6 @@ jobs: name: aarch64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm - uses: actions/upload-artifact@v7 - with: - name: aarch64-linux-musl-openvmm - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost - uses: actions/upload-artifact@v7 - with: - name: aarch64-linux-musl-openvmm_vhost - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette uses: actions/upload-artifact@v7 with: @@ -7208,6 +7166,10 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -7305,42 +7267,42 @@ jobs: flowey e 7 flowey_lib_hvlite::run_cargo_build 5 flowey e 7 flowey_lib_hvlite::build_openvmm 0 flowey e 7 flowey_core::pipeline::artifact::publish 0 - flowey e 7 flowey_lib_hvlite::init_cross_build 1 + flowey e 7 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm_vhost run: |- - flowey e 7 flowey_lib_common::run_cargo_build 3 - flowey e 7 flowey_lib_hvlite::run_cargo_build 6 + flowey e 7 flowey_lib_common::run_cargo_build 4 + flowey e 7 flowey_lib_hvlite::run_cargo_build 8 shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 7 flowey_lib_hvlite::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 7 flowey_lib_hvlite::run_cargo_build 9 flowey e 7 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 7 flowey_core::pipeline::artifact::publish 1 flowey e 7 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgstool run: |- - flowey e 7 flowey_lib_common::run_cargo_build 5 - flowey e 7 flowey_lib_hvlite::run_cargo_build 9 + flowey e 7 flowey_lib_common::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::run_cargo_build 13 shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 7 flowey_lib_hvlite::run_cargo_build 10 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 6 + flowey e 7 flowey_lib_hvlite::run_cargo_build 14 flowey e 7 flowey_lib_hvlite::build_vmgstool 0 flowey e 7 flowey_core::pipeline::artifact::publish 2 flowey e 7 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build vmgs_lib run: |- - flowey e 7 flowey_lib_common::run_cargo_build 4 - flowey e 7 flowey_lib_hvlite::run_cargo_build 8 + flowey e 7 flowey_lib_common::run_cargo_build 6 + flowey e 7 flowey_lib_hvlite::run_cargo_build 12 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 7 flowey_core::pipeline::artifact::publish 3 - flowey e 7 flowey_lib_hvlite::init_cross_build 2 + flowey e 7 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build igvmfilegen run: |- @@ -7349,7 +7311,7 @@ jobs: shell: bash - name: split debug symbols run: |- - flowey e 7 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 7 flowey_lib_hvlite::run_split_debug_info 5 flowey e 7 flowey_lib_hvlite::run_cargo_build 1 flowey e 7 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 7 flowey_core::pipeline::artifact::publish 4 @@ -7367,6 +7329,39 @@ jobs: flowey e 7 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey e 7 flowey_core::pipeline::artifact::publish 5 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 7 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract Aarch64 sysroot.tar.gz + run: |- + flowey e 7 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + flowey e 7 flowey_lib_hvlite::init_cross_build 6 + shell: bash + - name: cargo build openvmm + run: |- + flowey e 7 flowey_lib_common::run_cargo_build 3 + flowey e 7 flowey_lib_hvlite::run_cargo_build 6 + shell: bash + - name: split debug symbols + run: |- + flowey e 7 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 7 flowey_lib_hvlite::run_cargo_build 7 + flowey e 7 flowey_lib_hvlite::build_openvmm 1 + flowey e 7 flowey_core::pipeline::artifact::publish 6 + flowey e 7 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build openvmm_vhost + run: |- + flowey e 7 flowey_lib_common::run_cargo_build 5 + flowey e 7 flowey_lib_hvlite::run_cargo_build 10 + shell: bash + - name: split debug symbols + run: |- + flowey e 7 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 7 flowey_lib_hvlite::run_cargo_build 11 + flowey e 7 flowey_lib_hvlite::build_openvmm_vhost 1 + flowey e 7 flowey_core::pipeline::artifact::publish 7 + shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 7 flowey_lib_common::cache 3 shell: bash @@ -7376,6 +7371,18 @@ jobs: name: aarch64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm + uses: actions/upload-artifact@v7 + with: + name: aarch64-linux-musl-openvmm + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost + uses: actions/upload-artifact@v7 + with: + name: aarch64-linux-musl-openvmm_vhost + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@v7 with: @@ -7444,10 +7451,6 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 8 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 8 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" @@ -7530,7 +7533,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build guest_test_uefi run: |- @@ -7542,31 +7545,31 @@ jobs: flowey e 8 flowey_lib_hvlite::build_guest_test_uefi 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 flowey e 8 flowey_lib_hvlite::init_cross_build 0 - flowey e 8 flowey_lib_hvlite::run_cargo_build 7 - flowey e 8 flowey_lib_hvlite::run_cargo_build 8 + flowey e 8 flowey_lib_hvlite::run_cargo_build 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 4 shell: bash - name: cargo build simple_tmk run: |- - flowey e 8 flowey_lib_common::run_cargo_build 4 - flowey e 8 flowey_lib_hvlite::run_cargo_build 9 + flowey e 8 flowey_lib_common::run_cargo_build 2 + flowey e 8 flowey_lib_hvlite::run_cargo_build 5 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 8 flowey_lib_hvlite::run_cargo_build 10 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 8 flowey_lib_hvlite::run_cargo_build 6 flowey e 8 flowey_lib_hvlite::build_tmks 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build tpm_guest_tests run: |- - flowey e 8 flowey_lib_common::run_cargo_build 6 - flowey e 8 flowey_lib_hvlite::run_cargo_build 13 + flowey e 8 flowey_lib_common::run_cargo_build 4 + flowey e 8 flowey_lib_hvlite::run_cargo_build 9 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 4 - flowey e 8 flowey_lib_hvlite::run_cargo_build 14 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 8 flowey_lib_hvlite::run_cargo_build 10 flowey e 8 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 shell: bash @@ -7580,54 +7583,28 @@ jobs: shell: bash - name: cargo build pipette run: |- - flowey e 8 flowey_lib_common::run_cargo_build 3 - flowey e 8 flowey_lib_hvlite::run_cargo_build 5 + flowey e 8 flowey_lib_common::run_cargo_build 1 + flowey e 8 flowey_lib_hvlite::run_cargo_build 1 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 8 flowey_lib_hvlite::run_cargo_build 6 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 2 flowey e 8 flowey_lib_hvlite::build_pipette 0 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build tmk_vmm run: |- - flowey e 8 flowey_lib_common::run_cargo_build 5 - flowey e 8 flowey_lib_hvlite::run_cargo_build 11 + flowey e 8 flowey_lib_common::run_cargo_build 3 + flowey e 8 flowey_lib_hvlite::run_cargo_build 7 shell: bash - name: split debug symbols run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 8 flowey_lib_hvlite::run_cargo_build 12 + flowey e 8 flowey_lib_hvlite::run_split_debug_info 1 + flowey e 8 flowey_lib_hvlite::run_cargo_build 8 flowey e 8 flowey_lib_hvlite::build_tmk_vmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 - shell: bash - - name: cargo build openvmm - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 1 - flowey e 8 flowey_lib_hvlite::run_cargo_build 1 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 5 - flowey e 8 flowey_lib_hvlite::run_cargo_build 2 - flowey e 8 flowey_lib_hvlite::build_openvmm 0 - flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo build openvmm_vhost - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 2 - flowey e 8 flowey_lib_hvlite::run_cargo_build 3 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 8 flowey_lib_hvlite::run_cargo_build 4 - flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 - flowey e 8 flowey_core::pipeline::artifact::publish 6 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey e 8 flowey_lib_common::cache 3 @@ -7638,18 +7615,6 @@ jobs: name: x64-guest_test_uefi path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm - uses: actions/upload-artifact@v7 - with: - name: x64-linux-musl-openvmm - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost - uses: actions/upload-artifact@v7 - with: - name: x64-linux-musl-openvmm_vhost - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-pipette uses: actions/upload-artifact@v7 with: @@ -7712,6 +7677,10 @@ jobs: EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 9 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -7813,38 +7782,38 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 5 flowey e 9 flowey_lib_hvlite::build_openvmm 0 flowey e 9 flowey_core::pipeline::artifact::publish 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 3 + flowey e 9 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build openvmm_vhost run: |- - flowey e 9 flowey_lib_common::run_cargo_build 3 - flowey e 9 flowey_lib_hvlite::run_cargo_build 6 + flowey e 9 flowey_lib_common::run_cargo_build 4 + flowey e 9 flowey_lib_hvlite::run_cargo_build 8 shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 9 flowey_lib_hvlite::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 9 flowey_lib_hvlite::run_cargo_build 9 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 9 flowey_core::pipeline::artifact::publish 1 flowey e 9 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- - flowey e 9 flowey_lib_common::run_cargo_build 5 - flowey e 9 flowey_lib_hvlite::run_cargo_build 9 + flowey e 9 flowey_lib_common::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::run_cargo_build 13 shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 9 flowey_lib_hvlite::run_cargo_build 10 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 6 + flowey e 9 flowey_lib_hvlite::run_cargo_build 14 flowey e 9 flowey_lib_hvlite::build_vmgstool 0 flowey e 9 flowey_core::pipeline::artifact::publish 2 flowey e 9 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgs_lib run: |- - flowey e 9 flowey_lib_common::run_cargo_build 4 - flowey e 9 flowey_lib_hvlite::run_cargo_build 8 + flowey e 9 flowey_lib_common::run_cargo_build 6 + flowey e 9 flowey_lib_hvlite::run_cargo_build 12 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 0 shell: bash - name: test vmgs_lib @@ -7852,7 +7821,7 @@ jobs: flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 9 flowey_core::pipeline::artifact::publish 3 - flowey e 9 flowey_lib_hvlite::init_cross_build 4 + flowey e 9 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -7861,7 +7830,7 @@ jobs: shell: bash - name: split debug symbols run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 9 flowey_lib_hvlite::run_split_debug_info 5 flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 4 @@ -7879,6 +7848,39 @@ jobs: flowey e 9 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract X86_64 sysroot.tar.gz + run: |- + flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 + shell: bash + - name: cargo build openvmm + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 3 + flowey e 9 flowey_lib_hvlite::run_cargo_build 6 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 9 flowey_lib_hvlite::run_cargo_build 7 + flowey e 9 flowey_lib_hvlite::build_openvmm 1 + flowey e 9 flowey_core::pipeline::artifact::publish 6 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 + shell: bash + - name: cargo build openvmm_vhost + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 5 + flowey e 9 flowey_lib_hvlite::run_cargo_build 10 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 9 flowey_lib_hvlite::run_cargo_build 11 + flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 + flowey e 9 flowey_core::pipeline::artifact::publish 7 + shell: bash - name: create cargo-nextest cache dir run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 @@ -7918,14 +7920,14 @@ jobs: run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 - flowey e 9 flowey_core::pipeline::artifact::publish 6 + flowey e 9 flowey_core::pipeline::artifact::publish 8 flowey e 9 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 - flowey e 9 flowey_core::pipeline::artifact::publish 7 + flowey e 9 flowey_core::pipeline::artifact::publish 9 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -7939,6 +7941,18 @@ jobs: name: x64-linux-igvmfilegen path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-openvmm + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-openvmm_vhost + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@v7 with: diff --git a/ci-flowey/openvmm-pr.yaml b/ci-flowey/openvmm-pr.yaml index 6212011285..149c10b59e 100644 --- a/ci-flowey/openvmm-pr.yaml +++ b/ci-flowey/openvmm-pr.yaml @@ -1847,6 +1847,10 @@ jobs: EOF mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-igvmfilegen" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-igvmfilegen" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-openvmm" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-openvmm_vhost" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm_vhost" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-vmm-tests-archive" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-ohcldiag-dev" @@ -1938,38 +1942,38 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 5 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 0 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 3 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 4 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 3 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 6 + $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 4 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 8 displayName: cargo build openvmm_vhost - bash: |- set -e - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 2 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 7 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 3 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 9 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm_vhost 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 1 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 6 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 5 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 9 + $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 7 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 13 displayName: cargo build vmgstool - bash: |- set -e - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 3 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 10 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 6 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 14 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_vmgstool 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 2 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 5 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 4 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 8 + $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 6 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 12 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 0 displayName: cargo build vmgs_lib - bash: |- @@ -1977,7 +1981,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 3 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 4 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 3 displayName: test vmgs_lib - bash: |- set -e @@ -1986,7 +1990,7 @@ jobs: displayName: cargo build igvmfilegen - bash: |- set -e - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 4 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 5 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_igvmfilegen 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 4 @@ -2004,6 +2008,38 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_ohcldiag_dev 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 5 displayName: split debug symbols + - bash: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 + displayName: unpack openvmm-deps archive + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 8 + displayName: extract X86_64 sysroot.tar.gz + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 3 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 6 + displayName: cargo build openvmm + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 2 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 7 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm 1 + $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 6 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 9 + displayName: split debug symbols + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 5 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 10 + displayName: cargo build openvmm_vhost + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 4 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 11 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm_vhost 1 + $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 7 + displayName: split debug symbols - bash: |- set -e $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 0 @@ -2043,14 +2079,14 @@ jobs: set -e $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_nextest_archive 0 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 - $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 6 + $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 8 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 1 displayName: build + archive 'vmm_tests' nextests - bash: |- set -e $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_nextest_archive 1 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 - $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 7 + $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 9 displayName: build + archive 'vmm_tests' nextests - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::cache 3 displayName: 'validate cache entry: cargo-nextest' @@ -2059,6 +2095,12 @@ jobs: - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-igvmfilegen displayName: πŸŒΌπŸ“¦ Publish x64-linux-igvmfilegen artifact: x64-linux-igvmfilegen + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm + displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm + artifact: x64-linux-musl-openvmm + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm_vhost + displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost + artifact: x64-linux-musl-openvmm_vhost - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-vmm-tests-archive displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive artifact: x64-linux-musl-vmm-tests-archive @@ -2118,10 +2160,6 @@ jobs: EOF mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-guest_test_uefi" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-guest_test_uefi" | $FLOWEY_BIN v 8 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update - mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-openvmm" - echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm" | $FLOWEY_BIN v 8 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-openvmm_vhost" - echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm_vhost" | $FLOWEY_BIN v 8 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-pipette" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-pipette" | $FLOWEY_BIN v 8 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-tmk_vmm" @@ -2194,7 +2232,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 6 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 4 displayName: symlink protoc - bash: |- set -e @@ -2206,31 +2244,31 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_guest_test_uefi 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 0 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 0 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 7 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 8 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 3 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 4 displayName: build guest_test_uefi.img - bash: |- set -e - $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 4 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 9 + $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 2 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 5 displayName: cargo build simple_tmk - bash: |- set -e - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 2 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 10 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 0 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 6 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_tmks 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 1 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 1 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 6 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 13 + $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 4 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 9 displayName: cargo build tpm_guest_tests - bash: |- set -e - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 4 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 14 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 2 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 10 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_tpm_guest_tests 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 2 displayName: split debug symbols @@ -2243,66 +2281,34 @@ jobs: displayName: extract X86_64 sysroot.tar.gz - bash: |- set -e - $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 3 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 5 + $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 1 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 1 displayName: cargo build pipette - bash: |- set -e - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 1 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 6 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 3 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 2 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_pipette 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 3 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 4 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 2 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 5 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 11 + $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 3 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 7 displayName: cargo build tmk_vmm - bash: |- set -e - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 3 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 12 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 1 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 8 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_tmk_vmm 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 4 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 5 - displayName: split debug symbols - - bash: |- - set -e - $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 1 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 1 - displayName: cargo build openvmm - - bash: |- - set -e - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 5 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 2 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openvmm 0 - $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 5 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 2 - displayName: split debug symbols - - bash: |- - set -e - $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 2 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 3 - displayName: cargo build openvmm_vhost - - bash: |- - set -e - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 0 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 4 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openvmm_vhost 0 - $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 6 displayName: split debug symbols - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::cache 3 displayName: 'validate cache entry: gh-release-download' - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-guest_test_uefi displayName: πŸŒΌπŸ“¦ Publish x64-guest_test_uefi artifact: x64-guest_test_uefi - - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm - displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm - artifact: x64-linux-musl-openvmm - - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm_vhost - displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost - artifact: x64-linux-musl-openvmm_vhost - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-pipette displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-pipette artifact: x64-linux-musl-pipette @@ -2353,6 +2359,10 @@ jobs: EOF mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-igvmfilegen" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-igvmfilegen" | $FLOWEY_BIN v 7 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-openvmm" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm" | $FLOWEY_BIN v 7 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-openvmm_vhost" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | $FLOWEY_BIN v 7 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-ohcldiag-dev" | $FLOWEY_BIN v 7 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-openvmm" @@ -2440,42 +2450,42 @@ jobs: $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 5 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_openvmm 0 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 0 - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 1 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 2 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 3 - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 6 + $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 4 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 8 displayName: cargo build openvmm_vhost - bash: |- set -e - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 2 - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 7 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 3 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 9 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_openvmm_vhost 0 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 1 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 4 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 5 - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 9 + $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 7 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 13 displayName: cargo build vmgstool - bash: |- set -e - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 3 - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 10 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 6 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 14 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_vmgstool 0 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 2 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 3 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 4 - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 8 + $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 6 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 12 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 0 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 1 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 3 - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 2 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 1 displayName: cargo build vmgs_lib - bash: |- set -e @@ -2484,7 +2494,7 @@ jobs: displayName: cargo build igvmfilegen - bash: |- set -e - $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 4 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 5 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_igvmfilegen 0 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 4 @@ -2502,11 +2512,49 @@ jobs: $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_ohcldiag_dev 0 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 5 displayName: split debug symbols + - bash: $(FLOWEY_BIN) e 7 flowey_lib_hvlite::resolve_openvmm_deps 0 + displayName: unpack openvmm-deps archive + - bash: |- + set -e + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 6 + displayName: extract Aarch64 sysroot.tar.gz + - bash: |- + set -e + $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 3 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 6 + displayName: cargo build openvmm + - bash: |- + set -e + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 2 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 7 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_openvmm 1 + $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 6 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 7 + displayName: split debug symbols + - bash: |- + set -e + $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 5 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 10 + displayName: cargo build openvmm_vhost + - bash: |- + set -e + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 4 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 11 + $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_openvmm_vhost 1 + $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 7 + displayName: split debug symbols - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::cache 3 displayName: 'validate cache entry: gh-release-download' - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-igvmfilegen displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-igvmfilegen artifact: aarch64-linux-igvmfilegen + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm + displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm + artifact: aarch64-linux-musl-openvmm + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm_vhost + displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost + artifact: aarch64-linux-musl-openvmm_vhost - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-ohcldiag-dev displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev artifact: aarch64-linux-ohcldiag-dev @@ -2560,10 +2608,6 @@ jobs: EOF mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-guest_test_uefi" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-guest_test_uefi" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update - mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-openvmm" - echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-openvmm_vhost" - echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-pipette" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-pipette" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-tmk_vmm" @@ -2636,7 +2680,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 6 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 4 displayName: symlink protoc - bash: |- set -e @@ -2648,31 +2692,31 @@ jobs: $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_guest_test_uefi 0 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 0 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 0 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 7 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 8 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 3 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 4 displayName: build guest_test_uefi.img - bash: |- set -e - $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 4 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 9 + $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 2 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 5 displayName: cargo build simple_tmk - bash: |- set -e - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 2 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 10 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 0 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 6 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_tmks 0 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 1 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 1 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 6 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 13 + $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 4 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 9 displayName: cargo build tpm_guest_tests - bash: |- set -e - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 4 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 14 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 2 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 10 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_tpm_guest_tests 0 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 2 displayName: split debug symbols @@ -2685,66 +2729,34 @@ jobs: displayName: extract Aarch64 sysroot.tar.gz - bash: |- set -e - $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 3 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 5 + $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 1 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 1 displayName: cargo build pipette - bash: |- set -e - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 1 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 6 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 3 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 2 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_pipette 0 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 3 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 4 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 2 displayName: split debug symbols - bash: |- set -e - $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 5 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 11 + $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 3 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 7 displayName: cargo build tmk_vmm - bash: |- set -e - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 3 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 12 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 1 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 8 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_tmk_vmm 0 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 4 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 5 - displayName: split debug symbols - - bash: |- - set -e - $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 1 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 1 - displayName: cargo build openvmm - - bash: |- - set -e - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 5 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 2 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_openvmm 0 - $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 5 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 2 - displayName: split debug symbols - - bash: |- - set -e - $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 2 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 3 - displayName: cargo build openvmm_vhost - - bash: |- - set -e - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 0 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 4 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_openvmm_vhost 0 - $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 6 displayName: split debug symbols - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::cache 3 displayName: 'validate cache entry: gh-release-download' - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-guest_test_uefi displayName: πŸŒΌπŸ“¦ Publish aarch64-guest_test_uefi artifact: aarch64-guest_test_uefi - - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm - displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm - artifact: aarch64-linux-musl-openvmm - - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm_vhost - displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost - artifact: aarch64-linux-musl-openvmm_vhost - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-pipette displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette artifact: aarch64-linux-musl-pipette diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index dcb806fb1b..913c4005ac 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -571,19 +571,6 @@ impl IntoPipeline for CheckinGatesCli { CommonArch::Aarch64 => "aarch64", }; - let (pub_openvmm, use_openvmm) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-openvmm")); - let (pub_openvmm_vhost, use_openvmm_vhost) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-openvmm_vhost")); - let (pub_igvmfilegen, _) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-igvmfilegen")); - let (pub_vmgs_lib, _) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-vmgs_lib")); - let (pub_vmgstool, use_vmgstool) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-vmgstool")); - let (pub_ohcldiag_dev, _) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-ohcldiag-dev")); - let (pub_tmks, use_tmks) = pipeline.new_typed_artifact(format!("{arch_tag}-tmks")); let (pub_tpm_guest_tests, use_tpm_guest_tests) = pipeline.new_typed_artifact(format!("{arch_tag}-linux-tpm_guest_tests")); let (pub_guest_test_uefi, use_guest_test_uefi) = @@ -592,55 +579,7 @@ impl IntoPipeline for CheckinGatesCli { pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-pipette")); let (pub_tmk_vmm, use_tmk_vmm) = pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-tmk_vmm")); - // Also build openvmm and openvmm_vhost for musl on this job, - // alongside pipette and tmk_vmm. This enables running VMM tests - // on Azure Linux (MSHV) runners which have an older glibc. - let (pub_openvmm_musl, use_openvmm_musl) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-openvmm")); - let (pub_openvmm_vhost_musl, use_openvmm_vhost_musl) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-openvmm_vhost")); - - // skim off interesting artifacts required by the VMM tests job - match arch { - CommonArch::X86_64 => { - vmm_tests_artifacts_linux_x86.use_openvmm = Some(use_openvmm.clone()); - vmm_tests_artifacts_linux_x86.use_openvmm_vhost = - Some(use_openvmm_vhost.clone()); - vmm_tests_artifacts_linux_x86.use_guest_test_uefi = - Some(use_guest_test_uefi.clone()); - vmm_tests_artifacts_windows_x86.use_guest_test_uefi = - Some(use_guest_test_uefi.clone()); - vmm_tests_artifacts_windows_x86.use_tmks = Some(use_tmks.clone()); - vmm_tests_artifacts_linux_x86.use_tmks = Some(use_tmks.clone()); - vmm_tests_artifacts_windows_x86.use_tpm_guest_tests_linux = - Some(use_tpm_guest_tests.clone()); - vmm_tests_artifacts_linux_musl_x86.use_guest_test_uefi = - Some(use_guest_test_uefi.clone()); - vmm_tests_artifacts_linux_musl_x86.use_tmks = Some(use_tmks.clone()); - vmm_tests_artifacts_windows_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); - vmm_tests_artifacts_windows_x86.use_tmk_vmm_linux_musl = - Some(use_tmk_vmm.clone()); - vmm_tests_artifacts_linux_musl_x86.use_openvmm = Some(use_openvmm_musl.clone()); - vmm_tests_artifacts_linux_musl_x86.use_openvmm_vhost = - Some(use_openvmm_vhost_musl.clone()); - vmm_tests_artifacts_linux_musl_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_musl_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); - } - CommonArch::Aarch64 => { - vmm_tests_artifacts_windows_aarch64.use_guest_test_uefi = - Some(use_guest_test_uefi.clone()); - vmm_tests_artifacts_windows_aarch64.use_tmks = Some(use_tmks.clone()); - vmm_tests_artifacts_windows_aarch64.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_windows_aarch64.use_tmk_vmm_linux_musl = - Some(use_tmk_vmm.clone()); - } - } + let (pub_tmks, use_tmks) = pipeline.new_typed_artifact(format!("{arch_tag}-tmks")); // Emit a job for building dependencies used by all platforms vmm tests let shared_job = pipeline @@ -694,35 +633,71 @@ impl IntoPipeline for CheckinGatesCli { tmk_vmm, } }) - .publish(pub_openvmm_musl, |openvmm| { - flowey_lib_hvlite::build_openvmm::Request { - params: flowey_lib_hvlite::build_openvmm::OpenvmmBuildParams { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxMusl, - }, - profile: CommonProfile::from_release(release), - features: [flowey_lib_hvlite::build_openvmm::OpenvmmFeature::Tpm] - .into(), - }, - openvmm, - } - }) - .publish(pub_openvmm_vhost_musl, |openvmm_vhost| { - flowey_lib_hvlite::build_openvmm_vhost::Request { - params: flowey_lib_hvlite::build_openvmm_vhost::OpenvmmVhostBuildParams { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxMusl, - }, - profile: CommonProfile::from_release(release), - }, - openvmm_vhost, - } - }) .finish(); all_jobs.push(shared_job); + let (pub_openvmm, use_openvmm) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-openvmm")); + let (pub_openvmm_vhost, use_openvmm_vhost) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-openvmm_vhost")); + let (pub_igvmfilegen, _) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-igvmfilegen")); + let (pub_vmgs_lib, _) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-vmgs_lib")); + let (pub_vmgstool, use_vmgstool) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-vmgstool")); + let (pub_ohcldiag_dev, _) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-ohcldiag-dev")); + // Also build openvmm and openvmm_vhost for musl on this job, + // alongside pipette and tmk_vmm. This enables running VMM tests + // on Azure Linux (MSHV) runners which have an older glibc. + let (pub_openvmm_musl, use_openvmm_musl) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-openvmm")); + let (pub_openvmm_vhost_musl, use_openvmm_vhost_musl) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-openvmm_vhost")); + + // skim off interesting artifacts required by the VMM tests job + match arch { + CommonArch::X86_64 => { + vmm_tests_artifacts_linux_x86.use_openvmm = Some(use_openvmm.clone()); + vmm_tests_artifacts_linux_x86.use_openvmm_vhost = + Some(use_openvmm_vhost.clone()); + vmm_tests_artifacts_linux_x86.use_guest_test_uefi = + Some(use_guest_test_uefi.clone()); + vmm_tests_artifacts_windows_x86.use_guest_test_uefi = + Some(use_guest_test_uefi.clone()); + vmm_tests_artifacts_windows_x86.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_linux_x86.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_windows_x86.use_tpm_guest_tests_linux = + Some(use_tpm_guest_tests.clone()); + vmm_tests_artifacts_linux_musl_x86.use_guest_test_uefi = + Some(use_guest_test_uefi.clone()); + vmm_tests_artifacts_linux_musl_x86.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_windows_x86.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_linux_x86.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_linux_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); + vmm_tests_artifacts_windows_x86.use_tmk_vmm_linux_musl = + Some(use_tmk_vmm.clone()); + vmm_tests_artifacts_linux_musl_x86.use_openvmm = Some(use_openvmm_musl.clone()); + vmm_tests_artifacts_linux_musl_x86.use_openvmm_vhost = + Some(use_openvmm_vhost_musl.clone()); + vmm_tests_artifacts_linux_musl_x86.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_linux_musl_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); + } + CommonArch::Aarch64 => { + vmm_tests_artifacts_windows_aarch64.use_guest_test_uefi = + Some(use_guest_test_uefi.clone()); + vmm_tests_artifacts_windows_aarch64.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_windows_aarch64.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_windows_aarch64.use_tmk_vmm_linux_musl = + Some(use_tmk_vmm.clone()); + } + } + let vmgstool_target = CommonTriple::Common { arch, platform: CommonPlatform::LinuxGnu, @@ -735,7 +710,6 @@ impl IntoPipeline for CheckinGatesCli { } // Emit a job for building dependencies used by just linux vmm tests - let mut job = pipeline .new_job( FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), @@ -812,8 +786,35 @@ impl IntoPipeline for CheckinGatesCli { profile: CommonProfile::from_release(release), ohcldiag_dev, } + }) + .publish(pub_openvmm_musl, |openvmm| { + flowey_lib_hvlite::build_openvmm::Request { + params: flowey_lib_hvlite::build_openvmm::OpenvmmBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxMusl, + }, + profile: CommonProfile::from_release(release), + features: [flowey_lib_hvlite::build_openvmm::OpenvmmFeature::Tpm] + .into(), + }, + openvmm, + } + }) + .publish(pub_openvmm_vhost_musl, |openvmm_vhost| { + flowey_lib_hvlite::build_openvmm_vhost::Request { + params: flowey_lib_hvlite::build_openvmm_vhost::OpenvmmVhostBuildParams { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxMusl, + }, + profile: CommonProfile::from_release(release), + }, + openvmm_vhost, + } }); + // Hang building the linux VMM tests off this big linux job. // No ARM64 VMM tests yet if matches!(arch, CommonArch::X86_64) { let pub_vmm_tests_archive_linux = pub_vmm_tests_archive_linux_x86.take().unwrap(); From 9cd795bfdabb55b3584861004f9747ff7fb14ad0 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Fri, 1 May 2026 12:33:30 -0400 Subject: [PATCH 05/14] comment --- flowey/flowey_hvlite/src/pipelines/checkin_gates.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 913c4005ac..15b57187d3 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -470,6 +470,8 @@ impl IntoPipeline for CheckinGatesCli { openvmm, } }) + // TODO: As of writing pipette_windows is the only windows-built artifact used by + // linux vmm tests. Consider splitting it into its own job to let them start sooner. .publish(pub_pipette_windows, |pipette| { flowey_lib_hvlite::build_pipette::Request { target: CommonTriple::Common { From f7e0263ce987c088e59844696004799fc1cc30d5 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Fri, 1 May 2026 12:33:55 -0400 Subject: [PATCH 06/14] tweak --- 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 15b57187d3..53f01fba3b 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -470,7 +470,7 @@ impl IntoPipeline for CheckinGatesCli { openvmm, } }) - // TODO: As of writing pipette_windows is the only windows-built artifact used by + // TODO: As of writing this, pipette_windows is the only windows-built artifact used by // linux vmm tests. Consider splitting it into its own job to let them start sooner. .publish(pub_pipette_windows, |pipette| { flowey_lib_hvlite::build_pipette::Request { From 54b69985acfe469f6b8c01efe952924deb7a9b38 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Fri, 1 May 2026 12:36:43 -0400 Subject: [PATCH 07/14] do pipette --- .github/workflows/openvmm-ci.yaml | 7060 ++++++++-------- .github/workflows/openvmm-pr-release.yaml | 7140 +++++++++-------- .github/workflows/openvmm-pr.yaml | 6950 ++++++++-------- ci-flowey/openvmm-pr.yaml | 3785 +++++---- .../src/pipelines/checkin_gates.rs | 34 +- 5 files changed, 13100 insertions(+), 11869 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 243bc8017e..438825c124 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -345,7 +345,7 @@ jobs: run: flowey e 1 flowey_lib_common::cache 3 shell: bash job10: - name: build openhcl [aarch64-linux] + name: build artifacts (shared VMM tests) [x64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -422,44 +422,16 @@ jobs: cat <<'EOF' | flowey v 10 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" | flowey v 10 'artifact_publish_from_aarch64-openhcl-baseline' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update - shell: bash - - name: checking if packages need to be installed - run: flowey e 10 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 10 flowey_lib_common::install_dist_pkg 1 - shell: bash - - name: create gh-release-download cache dir - run: flowey e 10 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey e 10 flowey_lib_common::cache 0 - flowey v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey 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@v5 - with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases - run: |- - flowey v 10 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -1110,7 +1080,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -1118,205 +1088,244 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 12 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 12 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 12 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 12 'verbose' update + cat <<'EOF' | flowey v 12 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" | flowey v 12 'artifact_publish_from_aarch64-openhcl-baseline' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 12 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 12 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update + shell: bash + - name: checking if packages need to be installed + run: flowey e 12 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 12 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 12 flowey_lib_common::download_gh_release 0 + shell: bash + - 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 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@v5 + with: + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey v 12 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -1730,7 +1784,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -1738,308 +1792,209 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 14 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 14 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 14 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 14 'verbose' update + cat <<'EOF' | flowey.exe v 14 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 14 flowey_lib_common::install_rust 0 + run: flowey.exe e 14 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 14 flowey_lib_common::install_rust 1 + run: flowey.exe e 14 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 14 flowey_lib_common::install_rust 2 - flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 14 flowey_lib_common::install_rust 2 + flowey.exe e 14 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 14 flowey_lib_common::git_checkout 0 - flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 14 '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 @@ -2096,7 +2051,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -2104,209 +2059,295 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 15 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 15 'verbose' update + cat <<'EOF' | flowey v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey.exe e 15 flowey_lib_common::install_rust 0 + run: flowey e 15 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 15 flowey_lib_common::install_rust 1 + run: flowey e 15 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 15 flowey_lib_common::install_rust 2 - flowey.exe e 15 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 15 flowey_lib_common::install_rust 2 + flowey e 15 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 15 flowey_lib_common::git_checkout 0 + flowey v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar7 }} + persist-credentials: ${{ env.floweyvar9 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 15 '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 @@ -2391,16 +2432,10 @@ jobs: flowey e 16 flowey_lib_common::install_rust 2 flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - - name: checking if packages need to be installed - run: flowey e 16 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 16 flowey_lib_common::install_dist_pkg 1 - shell: bash - name: check if openvmm needs to be cloned run: |- flowey e 16 flowey_lib_common::git_checkout 0 - flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2408,7 +2443,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar9 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2418,9 +2453,13 @@ jobs: EOF flowey e 16 flowey_lib_common::git_checkout 3 flowey e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0 + flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 shell: bash - - name: set '-Dwarnings' in .cargo/config.toml - run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 + - name: checking if packages need to be installed + run: flowey e 16 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 16 flowey_lib_common::install_dist_pkg 1 shell: bash - name: create gh-release-download cache dir run: flowey e 16 flowey_lib_common::download_gh_release 0 @@ -2428,14 +2467,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 16 flowey_lib_common::cache 4 - flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v5 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2445,17 +2484,37 @@ jobs: flowey e 16 flowey_lib_common::cache 6 flowey e 16 flowey_lib_common::download_gh_release 1 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 16 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract X86_64 sysroot.tar.gz + run: flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + shell: bash + - name: set '-Dwarnings' in .cargo/config.toml + run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 + shell: bash - name: unpack protoc - run: |- - flowey e 16 flowey_lib_common::resolve_protoc 0 - flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 + run: flowey e 16 flowey_lib_common::resolve_protoc 0 shell: bash - name: symlink protoc run: |- flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 16 flowey_lib_hvlite::init_cross_build 0 flowey e 16 flowey_lib_hvlite::init_cross_build 2 shell: bash + - name: cargo clippy + run: flowey e 16 flowey_lib_common::run_cargo_clippy 4 + shell: bash + - name: cargo clippy + run: flowey e 16 flowey_lib_common::run_cargo_clippy 1 + shell: bash + - name: cargo clippy + run: flowey e 16 flowey_lib_common::run_cargo_clippy 6 + shell: bash + - name: cargo clippy + run: |- + flowey e 16 flowey_lib_common::run_cargo_clippy 5 + flowey e 16 flowey_lib_hvlite::init_cross_build 0 + shell: bash - name: cargo build xtask run: |- flowey e 16 flowey_lib_common::run_cargo_build 0 @@ -2479,9 +2538,6 @@ jobs: - name: cargo clippy run: flowey e 16 flowey_lib_common::run_cargo_clippy 3 shell: bash - - name: cargo clippy - run: flowey e 16 flowey_lib_common::run_cargo_clippy 1 - shell: bash - name: create cargo-nextest cache dir run: |- flowey e 16 flowey_lib_common::download_cargo_nextest 0 @@ -2492,14 +2548,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 16 flowey_lib_common::cache 0 - flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v5 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2515,17 +2571,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 16 flowey_lib_common::install_cargo_nextest 0 - flowey e 16 flowey_lib_hvlite::init_cross_build 1 + flowey e 16 flowey_lib_hvlite::init_cross_build 3 flowey e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'unit-tests crypto (openssl)' nextest tests + - name: run 'unit-tests crypto (none)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 16 flowey_lib_common::publish_test_results 5 flowey e 16 flowey_lib_common::publish_test_results 6 flowey e 16 flowey_lib_common::publish_test_results 4 @@ -2535,18 +2591,18 @@ jobs: - id: flowey_lib_common__publish_test_results__7 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (none)-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (none) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'unit-tests crypto (all)' nextest tests + - name: run 'unit-tests crypto (openssl)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 16 flowey_lib_common::publish_test_results 8 flowey e 16 flowey_lib_common::publish_test_results 9 flowey e 16 flowey_lib_common::publish_test_results 10 @@ -2556,33 +2612,18 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (all)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 16 flowey_lib_hvlite::init_cross_build 3 - flowey e 16 flowey_lib_common::run_cargo_build 1 - flowey e 16 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 16 flowey_lib_hvlite::run_cargo_build 3 - flowey e 16 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 - shell: bash - name: generate nextest command run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'unit-tests' nextest tests + - name: run 'unit-tests crypto (symcrypt)' nextest tests run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 6 flowey e 16 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 16 flowey_lib_common::publish_test_results 12 flowey e 16 flowey_lib_common::publish_test_results 13 flowey e 16 flowey_lib_common::publish_test_results 14 @@ -2592,18 +2633,54 @@ jobs: - id: flowey_lib_common__publish_test_results__15 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'unit-tests crypto (none)' nextest tests + - name: run 'unit-tests crypto (all)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 16 flowey_lib_common::publish_test_results 16 + flowey e 16 flowey_lib_common::publish_test_results 17 + flowey e 16 flowey_lib_common::publish_test_results 18 + flowey v 16 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5 + flowey v 16 'flowey_lib_common::publish_test_results:28: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__19 + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml + path: ${{ env.floweyvar5 }} + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: cargo build xtask + run: |- + flowey e 16 flowey_lib_hvlite::init_cross_build 1 + flowey e 16 flowey_lib_common::run_cargo_build 1 + flowey e 16 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 16 flowey_lib_hvlite::run_cargo_build 3 + flowey e 16 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 + shell: bash + - name: generate nextest command + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + shell: bash + - name: run 'unit-tests' nextest tests + run: |- + flowey e 16 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 16 flowey_lib_common::publish_test_results 0 flowey e 16 flowey_lib_common::publish_test_results 1 flowey e 16 flowey_lib_common::publish_test_results 2 @@ -2613,16 +2690,16 @@ jobs: - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (none)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (none) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - - name: run doctests for aarch64-unknown-linux-gnu + - name: run doctests for x86_64-unknown-linux-musl run: flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 shell: bash - name: 'validate cache entry: cargo-nextest' @@ -2632,11 +2709,11 @@ jobs: run: flowey e 16 flowey_lib_common::cache 7 shell: bash job17: - name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] + name: clippy [aarch64-windows], unit tests [aarch64-windows] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-arm-westus2 - - 1ES.ImageOverride=ubuntu2404-arm64 + - 1ES.ImageOverride=win-arm64 - JobId=job17-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} permissions: contents: read @@ -2676,11 +2753,11 @@ jobs: - name: Build flowey run: | set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH @@ -2693,7 +2770,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -2701,697 +2778,662 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 17 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 17 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 17 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 17 'verbose' update + cat <<'EOF' | flowey.exe v 17 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 17 flowey_lib_common::install_rust 0 + run: flowey.exe e 17 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 17 flowey_lib_common::install_rust 1 + run: flowey.exe e 17 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 17 flowey_lib_common::install_rust 2 - flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 17 flowey_lib_common::install_rust 2 + flowey.exe e 17 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 17 flowey_lib_common::git_checkout 0 - flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 17 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' - path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 18 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 18 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 18 'verbose' update + cat <<'EOF' | flowey v 18 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - 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 - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 + - name: add default cargo home to path + run: flowey e 18 flowey_lib_common::install_rust 0 shell: bash - - 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 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 + - name: install Rust + run: flowey e 18 flowey_lib_common::install_rust 1 shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest + - name: detect active toolchain run: |- - flowey.exe v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe - - echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 19 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 19 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 19 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 19 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + - run: | + set -x + i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; + sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y + curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y + . "$HOME/.cargo/env" + echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) shell: bash - - 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 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 + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@v5 + - uses: actions/checkout@v6 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML run: |- - flowey.exe v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/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 - flowey.exe e 19 flowey_lib_common::cache 2 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 4 + shell: bash + - name: add default cargo home to path + run: flowey e 19 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey e 19 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey e 19 flowey_lib_common::install_rust 2 + flowey e 19 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3 - flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar3 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 19 '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-windows-uid-15/flowey.exe + + echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 20 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 20 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 20 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 20 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 20 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 20 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 20 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 20 flowey_lib_common::cache 0 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs: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@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + + echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 21 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 21 flowey_lib_common::cache 0 + flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 '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@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 29 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-11/flowey - - echo '"debug"' | flowey v 28 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 28 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 28 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + - name: creating new test content dir + run: flowey.exe e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 + shell: bash + - name: resolve OpenHCL igvm artifact + run: flowey.exe e 29 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 + shell: bash + - name: create gh-release-download cache dir + run: flowey.exe e 29 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 29 flowey_lib_common::cache 8 + flowey.exe v 29 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 29 '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@v5 + with: + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey.exe v 29 '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 - - name: cargo build test_igvm_agent_rpc_server - run: |- - flowey.exe e 3 flowey_lib_common::run_cargo_build 3 - flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 5 - flowey.exe e 3 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0 - flowey.exe e 3 flowey_core::pipeline::artifact::publish 0 + 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-11/flowey + + echo '"debug"' | flowey v 30 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 30 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 30 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 30 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 30 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 30 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 3 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 3 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 3 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 3 flowey_lib_common::download_cargo_nextest 3 + - name: create gh cache dir + run: flowey e 30 flowey_lib_common::download_gh_cli 0 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 3 flowey_lib_common::cache 0 - flowey.exe v 3 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey.exe v 3 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey e 30 flowey_lib_common::cache 0 + flowey v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 30 '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@v5 with: key: ${{ env.floweyvar2 }} path: ${{ env.floweyvar3 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest + name: 'Restore cache: gh-cli' + - name: installing gh run: |- - flowey.exe v 3 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -6906,7 +7412,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -6914,41 +7420,33 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 6 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 6 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 6 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 6 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 6 'verbose' update + cat <<'EOF' | flowey.exe v 6 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 6 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 6 'artifact_publish_from_aarch64-tmks' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 6 'artifact_publish_from_x64-windows-pipette' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 6 flowey_lib_common::install_rust 0 + run: flowey.exe e 6 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 6 flowey_lib_common::install_rust 1 + run: flowey.exe e 6 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 6 flowey_lib_common::install_rust 2 - flowey e 6 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 6 flowey_lib_common::install_rust 2 + flowey.exe e 6 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 6 flowey_lib_common::git_checkout 0 - flowey v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 6 flowey_lib_common::git_checkout 0 + flowey.exe v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -6960,23 +7458,23 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 6 '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 @@ -7174,7 +7578,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -7182,53 +7586,45 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 7 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 7 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 7 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 7 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 7 'verbose' update + cat <<'EOF' | flowey.exe v 7 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 7 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 7 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-openvmm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-openvmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-prep_steps" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-prep_steps" | flowey.exe v 7 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-test_igvm_agent_rpc_server" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 7 'artifact_publish_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tmk_vmm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tpm_guest_tests" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 7 'artifact_publish_from_x64-windows-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-tests-archive" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 7 flowey_lib_common::install_rust 0 + run: flowey.exe e 7 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 7 flowey_lib_common::install_rust 1 + run: flowey.exe e 7 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 7 flowey_lib_common::install_rust 2 - flowey e 7 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 7 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 7 flowey_lib_common::install_dist_pkg 1 + flowey.exe e 7 flowey_lib_common::install_rust 2 + flowey.exe e 7 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 7 flowey_lib_common::git_checkout 0 - flowey v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 7 flowey_lib_common::git_checkout 0 + flowey.exe v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -7240,207 +7636,198 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 7 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 12 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 12 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 12 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 12 'verbose' update + cat <<'EOF' | flowey v 12 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 12 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 12 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update + shell: bash + - name: checking if packages need to be installed + run: flowey e 12 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 12 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 12 flowey_lib_common::download_gh_release 0 + shell: bash + - 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 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@v5 + with: + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey v 12 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 14 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 14 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 14 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 14 'verbose' update + cat <<'EOF' | flowey.exe v 14 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 14 flowey_lib_common::install_rust 0 + run: flowey.exe e 14 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 14 flowey_lib_common::install_rust 1 + run: flowey.exe e 14 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 14 flowey_lib_common::install_rust 2 - flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 14 flowey_lib_common::install_rust 2 + flowey.exe e 14 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 14 flowey_lib_common::git_checkout 0 - flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 14 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 15 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 15 'verbose' update + cat <<'EOF' | flowey v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey.exe e 15 flowey_lib_common::install_rust 0 + run: flowey e 15 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 15 flowey_lib_common::install_rust 1 + run: flowey e 15 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 15 flowey_lib_common::install_rust 2 - flowey.exe e 15 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 15 flowey_lib_common::install_rust 2 + flowey e 15 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: checking if packages need to be installed + run: flowey e 15 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 15 flowey_lib_common::install_dist_pkg 1 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 15 flowey_lib_common::git_checkout 0 + flowey v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar7 }} + persist-credentials: ${{ env.floweyvar9 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 15 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey echo '"debug"' | flowey v 16 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 16 '_internal_WORKING_DIR' --is-raw-string update @@ -2198,16 +2143,10 @@ jobs: flowey e 16 flowey_lib_common::install_rust 2 flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - - name: checking if packages need to be installed - run: flowey e 16 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 16 flowey_lib_common::install_dist_pkg 1 - shell: bash - name: check if openvmm needs to be cloned run: |- flowey e 16 flowey_lib_common::git_checkout 0 - flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2215,7 +2154,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar9 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2225,9 +2164,13 @@ jobs: EOF flowey e 16 flowey_lib_common::git_checkout 3 flowey e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0 + flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 shell: bash - - name: set '-Dwarnings' in .cargo/config.toml - run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 + - name: checking if packages need to be installed + run: flowey e 16 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 16 flowey_lib_common::install_dist_pkg 1 shell: bash - name: create gh-release-download cache dir run: flowey e 16 flowey_lib_common::download_gh_release 0 @@ -2235,14 +2178,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 16 flowey_lib_common::cache 4 - flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 - flowey v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 + flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 + flowey v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 shell: bash - id: flowey_lib_common__cache__5 uses: actions/cache@v5 with: - key: ${{ env.floweyvar7 }} - path: ${{ env.floweyvar8 }} + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2252,17 +2195,37 @@ jobs: flowey e 16 flowey_lib_common::cache 6 flowey e 16 flowey_lib_common::download_gh_release 1 shell: bash + - name: unpack openvmm-deps archive + run: flowey e 16 flowey_lib_hvlite::resolve_openvmm_deps 0 + shell: bash + - name: extract X86_64 sysroot.tar.gz + run: flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + shell: bash + - name: set '-Dwarnings' in .cargo/config.toml + run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 + shell: bash - name: unpack protoc - run: |- - flowey e 16 flowey_lib_common::resolve_protoc 0 - flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 + run: flowey e 16 flowey_lib_common::resolve_protoc 0 shell: bash - name: symlink protoc run: |- flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 16 flowey_lib_hvlite::init_cross_build 0 flowey e 16 flowey_lib_hvlite::init_cross_build 2 shell: bash + - name: cargo clippy + run: flowey e 16 flowey_lib_common::run_cargo_clippy 4 + shell: bash + - name: cargo clippy + run: flowey e 16 flowey_lib_common::run_cargo_clippy 1 + shell: bash + - name: cargo clippy + run: flowey e 16 flowey_lib_common::run_cargo_clippy 6 + shell: bash + - name: cargo clippy + run: |- + flowey e 16 flowey_lib_common::run_cargo_clippy 5 + flowey e 16 flowey_lib_hvlite::init_cross_build 0 + shell: bash - name: cargo build xtask run: |- flowey e 16 flowey_lib_common::run_cargo_build 0 @@ -2286,9 +2249,6 @@ jobs: - name: cargo clippy run: flowey e 16 flowey_lib_common::run_cargo_clippy 3 shell: bash - - name: cargo clippy - run: flowey e 16 flowey_lib_common::run_cargo_clippy 1 - shell: bash - name: create cargo-nextest cache dir run: |- flowey e 16 flowey_lib_common::download_cargo_nextest 0 @@ -2299,14 +2259,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 16 flowey_lib_common::cache 0 - flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 - flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 + flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 + flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v5 with: - key: ${{ env.floweyvar5 }} - path: ${{ env.floweyvar6 }} + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2322,17 +2282,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 16 flowey_lib_common::install_cargo_nextest 0 - flowey e 16 flowey_lib_hvlite::init_cross_build 1 + flowey e 16 flowey_lib_hvlite::init_cross_build 3 flowey e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'unit-tests crypto (openssl)' nextest tests + - name: run 'unit-tests crypto (none)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 16 flowey_lib_common::publish_test_results 5 flowey e 16 flowey_lib_common::publish_test_results 6 flowey e 16 flowey_lib_common::publish_test_results 4 @@ -2342,18 +2302,18 @@ jobs: - id: flowey_lib_common__publish_test_results__7 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (none)-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (none) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'unit-tests crypto (all)' nextest tests + - name: run 'unit-tests crypto (openssl)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 16 flowey_lib_common::publish_test_results 8 flowey e 16 flowey_lib_common::publish_test_results 9 flowey e 16 flowey_lib_common::publish_test_results 10 @@ -2363,33 +2323,18 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (all)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 16 flowey_lib_hvlite::init_cross_build 3 - flowey e 16 flowey_lib_common::run_cargo_build 1 - flowey e 16 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 16 flowey_lib_hvlite::run_cargo_build 3 - flowey e 16 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 - shell: bash - name: generate nextest command run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'unit-tests' nextest tests + - name: run 'unit-tests crypto (symcrypt)' nextest tests run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 6 flowey e 16 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 16 flowey_lib_common::publish_test_results 12 flowey e 16 flowey_lib_common::publish_test_results 13 flowey e 16 flowey_lib_common::publish_test_results 14 @@ -2399,18 +2344,54 @@ jobs: - id: flowey_lib_common__publish_test_results__15 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests-junit-xml + name: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'unit-tests crypto (none)' nextest tests + - name: run 'unit-tests crypto (all)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 16 flowey_lib_common::publish_test_results 16 + flowey e 16 flowey_lib_common::publish_test_results 17 + flowey e 16 flowey_lib_common::publish_test_results 18 + flowey v 16 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5 + flowey v 16 'flowey_lib_common::publish_test_results:28: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__19 + uses: actions/upload-artifact@v7 + with: + name: x64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml + path: ${{ env.floweyvar5 }} + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: cargo build xtask + run: |- + flowey e 16 flowey_lib_hvlite::init_cross_build 1 + flowey e 16 flowey_lib_common::run_cargo_build 1 + flowey e 16 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 16 flowey_lib_hvlite::run_cargo_build 3 + flowey e 16 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 + shell: bash + - name: generate nextest command + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + shell: bash + - name: run 'unit-tests' nextest tests + run: |- + flowey e 16 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 16 flowey_lib_common::publish_test_results 0 flowey e 16 flowey_lib_common::publish_test_results 1 flowey e 16 flowey_lib_common::publish_test_results 2 @@ -2420,16 +2401,16 @@ jobs: - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v7 with: - name: aarch64-linux-unit-tests-unit-tests crypto (none)-junit-xml + name: x64-linux-musl-unit-tests-unit-tests-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (none) (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-unit-tests (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - - name: run doctests for aarch64-unknown-linux-gnu + - name: run doctests for x86_64-unknown-linux-musl run: flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 shell: bash - name: 'validate cache entry: cargo-nextest' @@ -2439,11 +2420,11 @@ jobs: run: flowey e 16 flowey_lib_common::cache 7 shell: bash job17: - name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] + name: clippy [aarch64-windows], unit tests [aarch64-windows] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-arm-westus2 - - 1ES.ImageOverride=ubuntu2404-arm64 + - 1ES.ImageOverride=win-arm64 - JobId=job17-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} permissions: contents: read @@ -2485,11 +2466,11 @@ jobs: - name: Build flowey run: | set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH @@ -2502,7 +2483,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -2510,845 +2491,542 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 17 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 17 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 17 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 17 'verbose' update + cat <<'EOF' | flowey.exe v 17 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 17 flowey_lib_common::install_rust 0 + run: flowey.exe e 17 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 17 flowey_lib_common::install_rust 1 + run: flowey.exe e 17 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 17 flowey_lib_common::install_rust 2 - flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 17 flowey_lib_common::install_rust 2 + flowey.exe e 17 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 17 flowey_lib_common::git_checkout 0 - flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 17 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' - path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 18 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 18 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 18 'verbose' update + cat <<'EOF' | flowey v 18 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - 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 - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 + - name: add default cargo home to path + run: flowey e 18 flowey_lib_common::install_rust 0 shell: bash - - 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 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 + - name: install Rust + run: flowey e 18 flowey_lib_common::install_rust 1 shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest + - name: detect active toolchain run: |- - flowey.exe v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe - - echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 19 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 19 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 19 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 19 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update - shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 19 flowey_lib_common::cache 0 - flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs: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@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -3406,7 +3084,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -3414,166 +3092,1073 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + 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.exe v 2 'verbose' update + cat <<'EOF' | flowey v 19 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey.exe e 2 flowey_lib_common::install_rust 0 + run: flowey e 19 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 2 flowey_lib_common::install_rust 1 + run: flowey e 19 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 2 flowey_lib_common::install_rust 2 - flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 19 flowey_lib_common::install_rust 2 + flowey e 19 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey.exe e 2 flowey_lib_common::git_checkout 0 - flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 2 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 2 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 2 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 2 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 2 flowey_lib_common::install_rust 2 + flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 2 flowey_lib_common::git_checkout 0 + flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 2 '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-windows-uid-6/flowey.exe + + echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 20 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 20 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 20 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 20 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 20 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 20 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 20 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 20 flowey_lib_common::cache 0 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs: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@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + + echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 21 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + shell: bash + - name: create cargo-nextest cache dir run: |- - flowey.exe e 2 flowey_lib_common::run_cargo_build 0 - flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 0 - flowey.exe e 2 flowey_lib_hvlite::build_hypestv 0 - flowey.exe e 2 flowey_core::pipeline::artifact::publish 0 - flowey.exe e 2 flowey_lib_hvlite::init_cross_build 0 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 shell: bash - - name: cargo build vmgs_lib + - name: Pre-processing cache vars run: |- - flowey.exe e 2 flowey_lib_common::run_cargo_build 3 - flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 3 - flowey.exe e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 0 - flowey.exe e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 1 - flowey.exe e 2 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 2 flowey_lib_hvlite::init_cross_build 2 + 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 floweyvar4 + flowey.exe v 21 '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@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 6 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 6 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 6 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 6 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 6 'verbose' update + cat <<'EOF' | flowey.exe v 6 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 6 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 6 'artifact_publish_from_aarch64-tmks' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 6 'artifact_publish_from_x64-windows-pipette' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 6 flowey_lib_common::install_rust 0 + run: flowey.exe e 6 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 6 flowey_lib_common::install_rust 1 + run: flowey.exe e 6 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 6 flowey_lib_common::install_rust 2 - flowey e 6 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 6 flowey_lib_common::install_rust 2 + flowey.exe e 6 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 6 flowey_lib_common::git_checkout 0 - flowey v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 6 flowey_lib_common::git_checkout 0 + flowey.exe v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -6518,23 +6966,23 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 6 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 7 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 7 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 7 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 7 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 7 'verbose' update + cat <<'EOF' | flowey.exe v 7 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 7 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 7 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-openvmm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-openvmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-prep_steps" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-prep_steps" | flowey.exe v 7 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-test_igvm_agent_rpc_server" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 7 'artifact_publish_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tmk_vmm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tpm_guest_tests" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 7 'artifact_publish_from_x64-windows-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-tests-archive" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 7 flowey_lib_common::install_rust 0 + run: flowey.exe e 7 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 7 flowey_lib_common::install_rust 1 + run: flowey.exe e 7 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 7 flowey_lib_common::install_rust 2 - flowey e 7 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 7 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 7 flowey_lib_common::install_dist_pkg 1 + flowey.exe e 7 flowey_lib_common::install_rust 2 + flowey.exe e 7 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 7 flowey_lib_common::git_checkout 0 - flowey v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 7 flowey_lib_common::git_checkout 0 + flowey.exe v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -6756,207 +7146,198 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 7 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 14 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 14 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 14 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 14 'verbose' update + cat <<'EOF' | flowey v 14 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" + echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 14 'artifact_publish_from_x64-openhcl-igvm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" + echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | flowey v 14 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update + shell: bash + - name: checking if packages need to be installed + run: flowey e 14 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 14 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 14 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey e 14 flowey_lib_common::cache 0 + flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey 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@v5 + with: + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey v 14 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 16 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 16 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 16 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: add default cargo home to path + run: flowey.exe e 16 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 16 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 16 flowey_lib_common::install_rust 2 + flowey.exe e 16 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar7 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 16 '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-1/flowey + + echo '"debug"' | flowey v 17 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 17 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: add default cargo home to path + run: flowey e 17 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey e 17 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey e 17 flowey_lib_common::install_rust 2 + flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: checking if packages need to be installed + run: flowey e 17 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 17 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 17 flowey_lib_common::git_checkout 0 + flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 + flowey v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar9 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 17 '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 @@ -2561,7 +3143,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -2569,273 +3151,158 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 18 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 18 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 18 'verbose' update + cat <<'EOF' | flowey.exe v 2 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 18 flowey_lib_common::install_rust 0 + run: flowey.exe e 2 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 18 flowey_lib_common::install_rust 1 + run: flowey.exe e 2 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 18 flowey_lib_common::install_rust 2 - flowey e 18 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 18 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 18 flowey_lib_common::install_dist_pkg 1 + flowey.exe e 2 flowey_lib_common::install_rust 2 + flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 - flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 2 flowey_lib_common::git_checkout 0 + flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar9 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 18 '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 @@ -3261,7 +3692,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -3269,166 +3700,318 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 2 '_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.exe v 2 'verbose' update + cat <<'EOF' | flowey v 21 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey.exe e 2 flowey_lib_common::install_rust 0 + run: flowey e 21 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 2 flowey_lib_common::install_rust 1 + run: flowey e 21 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 2 flowey_lib_common::install_rust 2 - flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 21 flowey_lib_common::install_rust 2 + flowey e 21 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey.exe e 2 flowey_lib_common::git_checkout 0 - flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490: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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 2 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 3 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 3 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 3 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 27 flowey_lib_common::install_rust 0 + run: flowey.exe e 3 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 27 flowey_lib_common::install_rust 1 + run: flowey.exe e 3 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 3 flowey_lib_common::install_rust 2 + flowey.exe e 3 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 3 flowey_lib_common::git_checkout 0 + flowey.exe v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 3 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe - - echo '"debug"' | flowey.exe v 29 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 29 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 29 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 29 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 29 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 29 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 29 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 29 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 29 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 29 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 29 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 29 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 29 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 29 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 29 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 29 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 29 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update - shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 29 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 29 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 29 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 29 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 29 flowey_lib_common::cache 0 - flowey.exe v 29 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 29 '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@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 29 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - - echo '"debug"' | flowey.exe v 3 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 3 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 3 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - 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" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-prep_steps" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-prep_steps" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-prep_steps' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-test_igvm_agent_rpc_server" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-test_igvm_agent_rpc_server' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tmk_vmm" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-tmk_vmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tpm_guest_tests" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tpm_guest_tests" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-tpm_guest_tests' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgstool" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-vmgstool' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-archive" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-vmm-tests-archive' --is-raw-string update + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + + echo '"debug"' | flowey.exe v 31 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 31 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 31 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 31 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 31 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 31 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 31 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 31 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 31 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 31 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 31 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 31 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 31 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 31 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 31 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 31 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 31 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: add default cargo home to path - run: flowey.exe e 3 flowey_lib_common::install_rust 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 31 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 31 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 31 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 31 flowey_lib_common::download_cargo_nextest 3 shell: bash - - name: install Rust - run: flowey.exe e 3 flowey_lib_common::install_rust 1 + - name: Pre-processing cache vars + run: |- + flowey.exe e 31 flowey_lib_common::cache 0 + flowey.exe v 31 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 31 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 shell: bash - - name: detect active toolchain + - id: flowey_lib_common__cache__1 + uses: actions/cache@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe e 3 flowey_lib_common::install_rust 2 - flowey.exe e 3 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe v 31 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 6 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 6 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 6 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 6 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 6 'verbose' update + cat <<'EOF' | flowey.exe v 6 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 6 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 6 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 6 'artifact_publish_from_aarch64-tmks' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 6 'artifact_publish_from_x64-windows-pipette' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 6 flowey_lib_common::install_rust 0 + run: flowey.exe e 6 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 6 flowey_lib_common::install_rust 1 + run: flowey.exe e 6 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 6 flowey_lib_common::install_rust 2 - flowey e 6 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 6 flowey_lib_common::install_rust 2 + flowey.exe e 6 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 6 flowey_lib_common::git_checkout 0 - flowey v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 6 flowey_lib_common::git_checkout 0 + flowey.exe v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -6976,23 +7426,23 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 6 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 7 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 7 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 7 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 7 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 7 'verbose' update + cat <<'EOF' | flowey.exe v 7 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 7 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 7 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 7 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 7 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-openvmm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-openvmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-prep_steps" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-prep_steps" | flowey.exe v 7 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-test_igvm_agent_rpc_server" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 7 'artifact_publish_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tmk_vmm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tpm_guest_tests" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 7 'artifact_publish_from_x64-windows-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-tests-archive" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 7 flowey_lib_common::install_rust 0 + run: flowey.exe e 7 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 7 flowey_lib_common::install_rust 1 + run: flowey.exe e 7 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 7 flowey_lib_common::install_rust 2 - flowey e 7 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 7 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 7 flowey_lib_common::install_dist_pkg 1 + flowey.exe e 7 flowey_lib_common::install_rust 2 + flowey.exe e 7 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 7 flowey_lib_common::git_checkout 0 - flowey v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 7 flowey_lib_common::git_checkout 0 + flowey.exe v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -7214,207 +7606,198 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 7 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace < Date: Fri, 1 May 2026 12:50:55 -0400 Subject: [PATCH 08/14] oops --- .github/workflows/openvmm-ci.yaml | 14 +++++++------- .github/workflows/openvmm-pr-release.yaml | 14 +++++++------- .github/workflows/openvmm-pr.yaml | 14 +++++++------- ci-flowey/openvmm-pr.yaml | 14 +++++++------- .../flowey_hvlite/src/pipelines/checkin_gates.rs | 11 ++++++----- 5 files changed, 34 insertions(+), 33 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 438825c124..3753fb9686 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -784,7 +784,7 @@ jobs: - name: symlink protoc run: |- flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 11 flowey_lib_hvlite::init_cross_build 2 + flowey e 11 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build openvmm run: |- @@ -797,7 +797,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 5 flowey e 11 flowey_lib_hvlite::build_openvmm 0 flowey e 11 flowey_core::pipeline::artifact::publish 0 - flowey e 11 flowey_lib_hvlite::init_cross_build 4 + flowey e 11 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -810,7 +810,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 9 flowey e 11 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 11 flowey_core::pipeline::artifact::publish 1 - flowey e 11 flowey_lib_hvlite::init_cross_build 6 + flowey e 11 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -823,7 +823,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 14 flowey e 11 flowey_lib_hvlite::build_vmgstool 0 flowey e 11 flowey_core::pipeline::artifact::publish 2 - flowey e 11 flowey_lib_hvlite::init_cross_build 5 + flowey e 11 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgs_lib run: |- @@ -836,7 +836,7 @@ jobs: flowey e 11 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 11 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 11 flowey_core::pipeline::artifact::publish 3 - flowey e 11 flowey_lib_hvlite::init_cross_build 3 + flowey e 11 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -849,7 +849,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 1 flowey e 11 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 11 flowey_core::pipeline::artifact::publish 4 - flowey e 11 flowey_lib_hvlite::init_cross_build 7 + flowey e 11 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -936,7 +936,7 @@ jobs: flowey e 11 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 11 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 11 flowey_core::pipeline::artifact::publish 8 - flowey e 11 flowey_lib_hvlite::init_cross_build 1 + flowey e 11 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: build + archive 'vmm_tests' nextests run: |- diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 2cf3541843..71c07cc78d 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -747,7 +747,7 @@ jobs: - name: symlink protoc run: |- flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 11 flowey_lib_hvlite::init_cross_build 2 + flowey e 11 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build openvmm run: |- @@ -760,7 +760,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 5 flowey e 11 flowey_lib_hvlite::build_openvmm 0 flowey e 11 flowey_core::pipeline::artifact::publish 0 - flowey e 11 flowey_lib_hvlite::init_cross_build 4 + flowey e 11 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -773,7 +773,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 9 flowey e 11 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 11 flowey_core::pipeline::artifact::publish 1 - flowey e 11 flowey_lib_hvlite::init_cross_build 6 + flowey e 11 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -786,7 +786,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 14 flowey e 11 flowey_lib_hvlite::build_vmgstool 0 flowey e 11 flowey_core::pipeline::artifact::publish 2 - flowey e 11 flowey_lib_hvlite::init_cross_build 5 + flowey e 11 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgs_lib run: |- @@ -799,7 +799,7 @@ jobs: flowey e 11 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 11 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 11 flowey_core::pipeline::artifact::publish 3 - flowey e 11 flowey_lib_hvlite::init_cross_build 3 + flowey e 11 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -812,7 +812,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 1 flowey e 11 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 11 flowey_core::pipeline::artifact::publish 4 - flowey e 11 flowey_lib_hvlite::init_cross_build 7 + flowey e 11 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -899,7 +899,7 @@ jobs: flowey e 11 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 11 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 11 flowey_core::pipeline::artifact::publish 8 - flowey e 11 flowey_lib_hvlite::init_cross_build 1 + flowey e 11 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: build + archive 'vmm_tests' nextests run: |- diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index 7e03204497..f8bc15cca9 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -746,7 +746,7 @@ jobs: - name: symlink protoc run: |- flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 11 flowey_lib_hvlite::init_cross_build 2 + flowey e 11 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build openvmm run: |- @@ -759,7 +759,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 5 flowey e 11 flowey_lib_hvlite::build_openvmm 0 flowey e 11 flowey_core::pipeline::artifact::publish 0 - flowey e 11 flowey_lib_hvlite::init_cross_build 4 + flowey e 11 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -772,7 +772,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 9 flowey e 11 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 11 flowey_core::pipeline::artifact::publish 1 - flowey e 11 flowey_lib_hvlite::init_cross_build 6 + flowey e 11 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -785,7 +785,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 14 flowey e 11 flowey_lib_hvlite::build_vmgstool 0 flowey e 11 flowey_core::pipeline::artifact::publish 2 - flowey e 11 flowey_lib_hvlite::init_cross_build 5 + flowey e 11 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgs_lib run: |- @@ -798,7 +798,7 @@ jobs: flowey e 11 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 11 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey e 11 flowey_core::pipeline::artifact::publish 3 - flowey e 11 flowey_lib_hvlite::init_cross_build 3 + flowey e 11 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -811,7 +811,7 @@ jobs: flowey e 11 flowey_lib_hvlite::run_cargo_build 1 flowey e 11 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 11 flowey_core::pipeline::artifact::publish 4 - flowey e 11 flowey_lib_hvlite::init_cross_build 7 + flowey e 11 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -898,7 +898,7 @@ jobs: flowey e 11 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 11 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 11 flowey_core::pipeline::artifact::publish 8 - flowey e 11 flowey_lib_hvlite::init_cross_build 1 + flowey e 11 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: build + archive 'vmm_tests' nextests run: |- diff --git a/ci-flowey/openvmm-pr.yaml b/ci-flowey/openvmm-pr.yaml index 8c74629358..7d032d101d 100644 --- a/ci-flowey/openvmm-pr.yaml +++ b/ci-flowey/openvmm-pr.yaml @@ -1929,7 +1929,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 2 + $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 1 displayName: symlink protoc - bash: |- set -e @@ -1942,7 +1942,7 @@ jobs: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_build 5 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_openvmm 0 $(FLOWEY_BIN) e 11 flowey_core::pipeline::artifact::publish 0 - $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 4 + $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 3 displayName: split debug symbols - bash: |- set -e @@ -1955,7 +1955,7 @@ jobs: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_build 9 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_openvmm_vhost 0 $(FLOWEY_BIN) e 11 flowey_core::pipeline::artifact::publish 1 - $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 6 + $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 5 displayName: split debug symbols - bash: |- set -e @@ -1968,7 +1968,7 @@ jobs: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_build 14 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_vmgstool 0 $(FLOWEY_BIN) e 11 flowey_core::pipeline::artifact::publish 2 - $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 5 + $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 4 displayName: split debug symbols - bash: |- set -e @@ -1981,7 +1981,7 @@ jobs: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_and_test_vmgs_lib 1 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_and_test_vmgs_lib 2 $(FLOWEY_BIN) e 11 flowey_core::pipeline::artifact::publish 3 - $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 3 + $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 2 displayName: test vmgs_lib - bash: |- set -e @@ -1994,7 +1994,7 @@ jobs: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_igvmfilegen 0 $(FLOWEY_BIN) e 11 flowey_core::pipeline::artifact::publish 4 - $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 7 + $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 6 displayName: split debug symbols - bash: |- set -e @@ -2080,7 +2080,7 @@ jobs: $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_archive 0 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_nextest_vmm_tests 0 $(FLOWEY_BIN) e 11 flowey_core::pipeline::artifact::publish 8 - $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 1 + $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 7 displayName: build + archive 'vmm_tests' nextests - bash: |- set -e diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index b912822277..d28bb6cde3 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -829,11 +829,12 @@ impl IntoPipeline for CheckinGatesCli { // Hang building the linux VMM tests off this big linux job. // No ARM64 VMM tests yet if matches!(arch, CommonArch::X86_64) { - let pub_vmm_tests_archive_linux = pub_vmm_tests_archive_linux_x86.take().unwrap(); - let pub_vmm_tests_archive_linux_musl = + let pub_vmm_tests_archive_linux_x86 = + pub_vmm_tests_archive_linux_x86.take().unwrap(); + let pub_vmm_tests_archive_linux_musl_x86 = pub_vmm_tests_archive_linux_musl_x86.take().unwrap(); - job = job.publish(pub_vmm_tests_archive_linux, |archive| { + job = job.publish(pub_vmm_tests_archive_linux_x86, |archive| { flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::Common { arch, @@ -844,11 +845,11 @@ impl IntoPipeline for CheckinGatesCli { archive, ), } - }).publish(pub_vmm_tests_archive_linux_musl, |archive| { + }).publish(pub_vmm_tests_archive_linux_musl_x86, |archive| { flowey_lib_hvlite::build_nextest_vmm_tests::Request { target: CommonTriple::Common { arch, - platform: CommonPlatform::LinuxGnu, + platform: CommonPlatform::LinuxMusl, }.as_triple(), profile: CommonProfile::from_release(release), build_mode: flowey_lib_hvlite::build_nextest_vmm_tests::BuildNextestVmmTestsMode::Archive( From 962e70ab7b1fd8924e12537daa0deeca3be23dc5 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Fri, 1 May 2026 13:53:23 -0400 Subject: [PATCH 09/14] centralize build-essential --- .../src/build_openhcl_boot.rs | 18 +----------------- flowey/flowey_lib_hvlite/src/build_openvmm.rs | 2 +- .../flowey_lib_hvlite/src/build_openvmm_hcl.rs | 16 +--------------- flowey/flowey_lib_hvlite/src/build_sidecar.rs | 18 +----------------- .../install_openvmm_rust_build_essential.rs | 17 ++++++++++++++++- 5 files changed, 20 insertions(+), 51 deletions(-) diff --git a/flowey/flowey_lib_hvlite/src/build_openhcl_boot.rs b/flowey/flowey_lib_hvlite/src/build_openhcl_boot.rs index 82bb91da91..87ae836dc5 100644 --- a/flowey/flowey_lib_hvlite/src/build_openhcl_boot.rs +++ b/flowey/flowey_lib_hvlite/src/build_openhcl_boot.rs @@ -40,7 +40,6 @@ impl FlowNode for Node { fn imports(ctx: &mut ImportCtx<'_>) { ctx.import::(); - ctx.import::(); } fn emit(requests: Vec, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { @@ -73,21 +72,6 @@ impl FlowNode for Node { OpenhclBootBuildProfile::Release => BuildProfile::BootRelease, }; - let mut pre_build_deps = Vec::new(); - - // TODO: install build tools for other platforms - if matches!( - ctx.platform(), - FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu) - ) { - pre_build_deps.push(ctx.reqv(|v| { - flowey_lib_common::install_dist_pkg::Request::Install { - package_names: vec!["build-essential".into()], - done: v, - } - })); - } - let output = ctx.reqv(|v| crate::run_cargo_build::Request { crate_name: "openhcl_boot".into(), out_name: "openhcl_boot".into(), @@ -101,7 +85,7 @@ impl FlowNode for Node { .into_iter() .collect(), )), - pre_build_deps, + pre_build_deps: Vec::new(), output: v, }); diff --git a/flowey/flowey_lib_hvlite/src/build_openvmm.rs b/flowey/flowey_lib_hvlite/src/build_openvmm.rs index c8722fbcdc..40c07ad231 100644 --- a/flowey/flowey_lib_hvlite/src/build_openvmm.rs +++ b/flowey/flowey_lib_hvlite/src/build_openvmm.rs @@ -69,7 +69,7 @@ impl FlowNode for Node { ) { pre_build_deps.push(ctx.reqv(|v| { flowey_lib_common::install_dist_pkg::Request::Install { - package_names: vec!["libssl-dev".into(), "build-essential".into()], + package_names: vec!["libssl-dev".into(), "pkg-config".into()], done: v, } })); diff --git a/flowey/flowey_lib_hvlite/src/build_openvmm_hcl.rs b/flowey/flowey_lib_hvlite/src/build_openvmm_hcl.rs index ac7965cc29..0b468961f2 100644 --- a/flowey/flowey_lib_hvlite/src/build_openvmm_hcl.rs +++ b/flowey/flowey_lib_hvlite/src/build_openvmm_hcl.rs @@ -84,7 +84,6 @@ impl FlowNode for Node { fn imports(ctx: &mut ImportCtx<'_>) { ctx.import::(); ctx.import::(); - ctx.import::(); } fn emit(requests: Vec, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { @@ -124,20 +123,7 @@ impl FlowNode for Node { .reqv(|v| crate::init_openvmm_magicpath_openhcl_sysroot::Request { arch, path: v }); // required due to ambient dependencies in openvmm_hcl's source code - pre_build_deps.push(openhcl_deps_path.clone().into_side_effect()); - - // TODO: install build tools for other platforms - if matches!( - ctx.platform(), - FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu) - ) { - pre_build_deps.push(ctx.reqv(|v| { - flowey_lib_common::install_dist_pkg::Request::Install { - package_names: vec!["build-essential".into()], - done: v, - } - })); - } + pre_build_deps.push(openhcl_deps_path.into_side_effect()); let mut features = features .into_iter() diff --git a/flowey/flowey_lib_hvlite/src/build_sidecar.rs b/flowey/flowey_lib_hvlite/src/build_sidecar.rs index 61b8edc8d2..60393cbbdd 100644 --- a/flowey/flowey_lib_hvlite/src/build_sidecar.rs +++ b/flowey/flowey_lib_hvlite/src/build_sidecar.rs @@ -40,7 +40,6 @@ impl FlowNode for Node { fn imports(ctx: &mut ImportCtx<'_>) { ctx.import::(); - ctx.import::(); } fn emit(requests: Vec, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { @@ -73,21 +72,6 @@ impl FlowNode for Node { SidecarBuildProfile::Release => BuildProfile::BootRelease, }; - let mut pre_build_deps = Vec::new(); - - // TODO: install build tools for other platforms - if matches!( - ctx.platform(), - FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu) - ) { - pre_build_deps.push(ctx.reqv(|v| { - flowey_lib_common::install_dist_pkg::Request::Install { - package_names: vec!["build-essential".into()], - done: v, - } - })); - } - let output = ctx.reqv(|v| crate::run_cargo_build::Request { crate_name: "sidecar".into(), out_name: "sidecar".into(), @@ -101,7 +85,7 @@ impl FlowNode for Node { .into_iter() .collect(), )), - pre_build_deps, + pre_build_deps: Vec::new(), output: v, }); diff --git a/flowey/flowey_lib_hvlite/src/install_openvmm_rust_build_essential.rs b/flowey/flowey_lib_hvlite/src/install_openvmm_rust_build_essential.rs index 335a5c66c4..0abc2dac47 100644 --- a/flowey/flowey_lib_hvlite/src/install_openvmm_rust_build_essential.rs +++ b/flowey/flowey_lib_hvlite/src/install_openvmm_rust_build_essential.rs @@ -22,6 +22,7 @@ impl FlowNode for Node { ctx.import::(); ctx.import::(); ctx.import::(); + ctx.import::(); } fn emit(requests: Vec, ctx: &mut NodeCtx<'_>) -> anyhow::Result<()> { @@ -29,12 +30,26 @@ impl FlowNode for Node { return Ok(()); } - let side_effects = [ + let mut side_effects = vec![ ctx.reqv(crate::init_openvmm_cargo_config_deny_warnings::Request::Done), ctx.reqv(crate::init_openvmm_magicpath_protoc::Request), ctx.reqv(flowey_lib_common::install_rust::Request::EnsureInstalled), ]; + // On Ubuntu, we need the `build-essential` package to ensure that + // the system has a working linker. + if matches!( + ctx.platform(), + FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu) + ) { + side_effects.push(ctx.reqv(|v| { + flowey_lib_common::install_dist_pkg::Request::Install { + package_names: vec!["build-essential".into()], + done: v, + } + })); + } + ctx.emit_side_effect_step(side_effects, requests.into_iter().map(|x| x.0)); Ok(()) From 8244b7f3e4ca50afb2bb6eb37e4438d5454dbd2b Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Tue, 5 May 2026 14:24:45 -0700 Subject: [PATCH 10/14] merge the shared jobs across arches --- .github/workflows/openvmm-ci.yaml | 6803 ++++++++-------- .github/workflows/openvmm-pr-release.yaml | 6848 ++++++++--------- .github/workflows/openvmm-pr.yaml | 6638 ++++++++-------- ci-flowey/openvmm-pr.yaml | 5087 ++++++------ .../src/pipelines/checkin_gates.rs | 317 +- 5 files changed, 12325 insertions(+), 13368 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 3753fb9686..fc09d9911f 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -345,7 +345,7 @@ jobs: run: flowey e 1 flowey_lib_common::cache 3 shell: bash job10: - name: build artifacts (shared VMM tests) [x64-linux] + name: build openhcl [aarch64-linux] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-amd-westus3 @@ -422,16 +422,44 @@ jobs: cat <<'EOF' | flowey v 10 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" - echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 10 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 10 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 10 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 10 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" - echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 10 'artifact_publish_from_x64-tmks' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" | flowey v 10 'artifact_publish_from_aarch64-openhcl-baseline' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update + shell: bash + - name: checking if packages need to be installed + run: flowey e 10 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 10 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 10 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey e 10 flowey_lib_common::cache 0 + flowey v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 + flowey 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@v5 + with: + key: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar2 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey v 10 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -1080,7 +1110,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -1088,244 +1118,205 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 12 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 12 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 12 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 12 'verbose' update + cat <<'EOF' | flowey.exe v 12 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-baseline" | flowey v 12 'artifact_publish_from_aarch64-openhcl-baseline' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 12 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 12 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update - shell: bash - - name: checking if packages need to be installed - run: flowey e 12 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 12 flowey_lib_common::install_dist_pkg 1 - shell: bash - - name: create gh-release-download cache dir - run: flowey e 12 flowey_lib_common::download_gh_release 0 - shell: bash - - 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 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@v5 - with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases - run: |- - flowey v 12 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -1784,7 +1730,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -1792,209 +1738,308 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 14 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 14 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 14 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 14 'verbose' update + cat <<'EOF' | flowey v 14 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey.exe e 14 flowey_lib_common::install_rust 0 + run: flowey e 14 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 14 flowey_lib_common::install_rust 1 + run: flowey e 14 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 14 flowey_lib_common::install_rust 2 - flowey.exe e 14 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 14 flowey_lib_common::install_rust 2 + flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 14 flowey_lib_common::git_checkout 0 + flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar7 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 14 '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 @@ -2051,7 +2096,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -2059,295 +2104,209 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 15 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 15 'verbose' update + cat <<'EOF' | flowey.exe v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 15 flowey_lib_common::install_rust 0 + run: flowey.exe e 15 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 15 flowey_lib_common::install_rust 1 + run: flowey.exe e 15 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 15 flowey_lib_common::install_rust 2 - flowey e 15 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 15 flowey_lib_common::install_rust 2 + flowey.exe e 15 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 15 flowey_lib_common::git_checkout 0 - flowey v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 - flowey v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar9 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 15 '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 @@ -2432,10 +2391,16 @@ jobs: flowey e 16 flowey_lib_common::install_rust 2 flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash + - name: checking if packages need to be installed + run: flowey e 16 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 16 flowey_lib_common::install_dist_pkg 1 + shell: bash - name: check if openvmm needs to be cloned run: |- flowey e 16 flowey_lib_common::git_checkout 0 - flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2443,7 +2408,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar9 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2453,13 +2418,9 @@ jobs: EOF flowey e 16 flowey_lib_common::git_checkout 3 flowey e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 16 flowey_lib_common::install_dist_pkg 0 shell: bash - - name: installing packages - run: flowey e 16 flowey_lib_common::install_dist_pkg 1 + - name: set '-Dwarnings' in .cargo/config.toml + run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 shell: bash - name: create gh-release-download cache dir run: flowey e 16 flowey_lib_common::download_gh_release 0 @@ -2467,14 +2428,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 16 flowey_lib_common::cache 4 - flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey v 16 '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@v5 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2484,36 +2445,16 @@ jobs: flowey e 16 flowey_lib_common::cache 6 flowey e 16 flowey_lib_common::download_gh_release 1 shell: bash - - name: unpack openvmm-deps archive - run: flowey e 16 flowey_lib_hvlite::resolve_openvmm_deps 0 - shell: bash - - name: extract X86_64 sysroot.tar.gz - run: flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - shell: bash - - name: set '-Dwarnings' in .cargo/config.toml - run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 - shell: bash - name: unpack protoc - run: flowey e 16 flowey_lib_common::resolve_protoc 0 + run: |- + flowey e 16 flowey_lib_common::resolve_protoc 0 + flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 shell: bash - name: symlink protoc run: |- flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 16 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo clippy - run: flowey e 16 flowey_lib_common::run_cargo_clippy 4 - shell: bash - - name: cargo clippy - run: flowey e 16 flowey_lib_common::run_cargo_clippy 1 - shell: bash - - name: cargo clippy - run: flowey e 16 flowey_lib_common::run_cargo_clippy 6 - shell: bash - - name: cargo clippy - run: |- - flowey e 16 flowey_lib_common::run_cargo_clippy 5 flowey e 16 flowey_lib_hvlite::init_cross_build 0 + flowey e 16 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build xtask run: |- @@ -2538,6 +2479,9 @@ jobs: - name: cargo clippy run: flowey e 16 flowey_lib_common::run_cargo_clippy 3 shell: bash + - name: cargo clippy + run: flowey e 16 flowey_lib_common::run_cargo_clippy 1 + shell: bash - name: create cargo-nextest cache dir run: |- flowey e 16 flowey_lib_common::download_cargo_nextest 0 @@ -2548,14 +2492,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 16 flowey_lib_common::cache 0 - flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v5 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2571,17 +2515,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 16 flowey_lib_common::install_cargo_nextest 0 - flowey e 16 flowey_lib_hvlite::init_cross_build 3 + flowey e 16 flowey_lib_hvlite::init_cross_build 1 flowey e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'unit-tests crypto (none)' nextest tests + - name: run 'unit-tests crypto (openssl)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 16 flowey_lib_common::publish_test_results 5 flowey e 16 flowey_lib_common::publish_test_results 6 flowey e 16 flowey_lib_common::publish_test_results 4 @@ -2591,18 +2535,18 @@ jobs: - id: flowey_lib_common__publish_test_results__7 uses: actions/upload-artifact@v7 with: - name: x64-linux-musl-unit-tests-unit-tests crypto (none)-junit-xml + name: aarch64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (none) (JUnit XML)' + name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'unit-tests crypto (openssl)' nextest tests + - name: run 'unit-tests crypto (all)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 16 flowey_lib_common::publish_test_results 8 flowey e 16 flowey_lib_common::publish_test_results 9 flowey e 16 flowey_lib_common::publish_test_results 10 @@ -2612,18 +2556,33 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@v7 with: - name: x64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml + name: aarch64-linux-unit-tests-unit-tests crypto (all)-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)' + name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: cargo build xtask + run: |- + flowey e 16 flowey_lib_hvlite::init_cross_build 3 + flowey e 16 flowey_lib_common::run_cargo_build 1 + flowey e 16 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 16 flowey_lib_hvlite::run_cargo_build 3 + flowey e 16 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 + shell: bash - name: generate nextest command run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'unit-tests crypto (symcrypt)' nextest tests + - name: run 'unit-tests' nextest tests run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 6 flowey e 16 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 16 flowey_lib_common::publish_test_results 12 flowey e 16 flowey_lib_common::publish_test_results 13 flowey e 16 flowey_lib_common::publish_test_results 14 @@ -2633,54 +2592,18 @@ jobs: - id: flowey_lib_common__publish_test_results__15 uses: actions/upload-artifact@v7 with: - name: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml + name: aarch64-linux-unit-tests-unit-tests-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 - shell: bash - - name: run 'unit-tests crypto (all)' nextest tests - run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 - flowey e 16 flowey_lib_common::publish_test_results 16 - flowey e 16 flowey_lib_common::publish_test_results 17 - flowey e 16 flowey_lib_common::publish_test_results 18 - flowey v 16 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5 - flowey v 16 'flowey_lib_common::publish_test_results:28: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__19 - uses: actions/upload-artifact@v7 - with: - name: x64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml - path: ${{ env.floweyvar5 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)' + name: 'publish test results: aarch64-linux-unit-tests-unit-tests (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 16 flowey_lib_hvlite::init_cross_build 1 - flowey e 16 flowey_lib_common::run_cargo_build 1 - flowey e 16 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 16 flowey_lib_hvlite::run_cargo_build 3 - flowey e 16 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 - shell: bash - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'unit-tests' nextest tests + - name: run 'unit-tests crypto (none)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 16 flowey_lib_common::publish_test_results 0 flowey e 16 flowey_lib_common::publish_test_results 1 flowey e 16 flowey_lib_common::publish_test_results 2 @@ -2690,16 +2613,16 @@ jobs: - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v7 with: - name: x64-linux-musl-unit-tests-unit-tests-junit-xml + name: aarch64-linux-unit-tests-unit-tests crypto (none)-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests (JUnit XML)' + name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (none) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - - name: run doctests for x86_64-unknown-linux-musl + - name: run doctests for aarch64-unknown-linux-gnu run: flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 shell: bash - name: 'validate cache entry: cargo-nextest' @@ -2709,11 +2632,11 @@ jobs: run: flowey e 16 flowey_lib_common::cache 7 shell: bash job17: - name: clippy [aarch64-windows], unit tests [aarch64-windows] + name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-arm-westus2 - - 1ES.ImageOverride=win-arm64 + - 1ES.ImageOverride=ubuntu2404-arm64 - JobId=job17-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} permissions: contents: read @@ -2753,11 +2676,11 @@ jobs: - name: Build flowey run: | set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH @@ -2770,7 +2693,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -2778,1137 +2701,325 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 17 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 17 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 17 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 17 'verbose' update + cat <<'EOF' | flowey v 17 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey.exe e 17 flowey_lib_common::install_rust 0 + run: flowey e 17 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 17 flowey_lib_common::install_rust 1 + run: flowey e 17 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 17 flowey_lib_common::install_rust 2 - flowey.exe e 17 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 17 flowey_lib_common::install_rust 2 + flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 17 flowey_lib_common::git_checkout 0 + flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar7 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 17 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - - echo '"debug"' | flowey v 18 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 18 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 18 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: add default cargo home to path - run: flowey e 18 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey e 18 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey e 18 flowey_lib_common::install_rust 2 - flowey e 18 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 18 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 18 flowey_lib_common::install_dist_pkg 1 - shell: bash - - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 - flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar9 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey v 18 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - - echo '"debug"' | flowey v 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 - shell: bash - - name: add default cargo home to path - run: flowey e 19 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey e 19 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey e 19 flowey_lib_common::install_rust 2 - flowey e 19 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar10 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey v 19 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - - echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 2 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update - shell: bash - - name: add default cargo home to path - run: flowey.exe e 2 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey.exe e 2 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey.exe e 2 flowey_lib_common::install_rust 2 - flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: check if openvmm needs to be cloned - run: |- - flowey.exe e 2 flowey_lib_common::git_checkout 0 - flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey.exe v 2 '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 + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3917,41 +3028,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe - echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 20 'verbose' update + cat <<'EOF' | flowey.exe v 18 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 20 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 20 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 20 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 20 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 20 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 20 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + 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 + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - 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 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 + 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 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@v5 @@ -3961,17 +3072,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4183,41 +3294,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe - echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 21 'verbose' update + cat <<'EOF' | flowey.exe v 19 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 19 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 19 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 19 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 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 floweyvar4 - flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + 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 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@v5 @@ -4227,17 +3338,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 2 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 2 'artifact_publish_from_x64-windows-pipette' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 2 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 2 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 2 flowey_lib_common::install_rust 2 + flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 2 flowey_lib_common::git_checkout 0 + flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 2 '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 + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4453,41 +3746,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe - echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 22 'verbose' update + cat <<'EOF' | flowey.exe v 20 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 22 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 22 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 22 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 22 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 22 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 22 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 22 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 22 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 22 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 22 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 22 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 22 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 22 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 20 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 20 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 20 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 20 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 20 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 20 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 22 flowey_lib_common::cache 0 - flowey.exe v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + 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 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@v5 @@ -4497,17 +3790,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 22 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4719,41 +4012,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe - echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 23 'verbose' update + cat <<'EOF' | flowey.exe v 21 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 23 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 23 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 23 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 23 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 23 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 23 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 23 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 23 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 23 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 23 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 23 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 23 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 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 floweyvar4 - flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + 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 floweyvar4 + flowey.exe v 21 '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@v5 @@ -4763,17 +4056,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 23 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -6286,41 +5579,41 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe - echo '"debug"' | flowey.exe v 29 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 29 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 27 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 27 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 29 'verbose' update + cat <<'EOF' | flowey.exe v 27 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 29 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 29 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 29 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 29 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 29 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 29 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 29 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 29 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 29 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 29 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 29 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 29 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 29 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 29 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 27 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 27 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 27 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 27 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 27 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 27 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 27 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 27 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 27 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 27 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 27 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 27 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 27 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 27 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - name: create cargo-nextest cache dir run: |- - flowey.exe e 29 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 29 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 29 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 29 flowey_lib_common::download_cargo_nextest 3 + flowey.exe e 27 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 27 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 27 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 27 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 29 flowey_lib_common::cache 0 - flowey.exe v 29 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 29 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 27 flowey_lib_common::cache 0 + flowey.exe v 27 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 27 '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@v5 @@ -6330,17 +5623,17 @@ jobs: name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- - flowey.exe v 29 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-11/flowey + + echo '"debug"' | flowey v 28 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 28 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 28 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 28 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 28 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 28 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 28 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + shell: bash + - name: create gh cache dir + run: flowey e 28 flowey_lib_common::download_gh_cli 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey e 28 flowey_lib_common::cache 0 + flowey v 28 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 + flowey v 28 '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@v5 + with: + key: ${{ env.floweyvar2 }} + path: ${{ env.floweyvar3 }} + name: 'Restore cache: gh-cli' + - name: installing gh + run: |- + flowey v 28 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -6582,7 +6016,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -6590,33 +6024,51 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 3 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 3 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 3 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 3 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 3 'verbose' update + cat <<'EOF' | flowey v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 3 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 3 'artifact_publish_from_aarch64-tmks' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" + echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 3 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" + echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 3 'artifact_publish_from_x64-tmks' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey.exe e 3 flowey_lib_common::install_rust 0 + run: flowey e 3 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 3 flowey_lib_common::install_rust 1 + run: flowey e 3 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 3 flowey_lib_common::install_rust 2 - flowey.exe e 3 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 3 flowey_lib_common::install_rust 2 + flowey e 3 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey.exe e 3 flowey_lib_common::git_checkout 0 - flowey.exe v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 3 flowey_lib_common::git_checkout 0 + flowey v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -6628,23 +6080,23 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 3 '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 + - name: cargo build simple_tmk + run: |- + flowey e 3 flowey_lib_common::run_cargo_build 4 + flowey e 3 flowey_lib_hvlite::run_cargo_build 12 + shell: bash + - name: split debug symbols + run: |- + flowey e 3 flowey_lib_hvlite::run_split_debug_info 5 + flowey e 3 flowey_lib_hvlite::run_cargo_build 13 + flowey e 3 flowey_lib_hvlite::build_tmks 0 + flowey e 3 flowey_core::pipeline::artifact::publish 8 + flowey e 3 flowey_lib_hvlite::init_cross_build 6 + shell: bash + - name: cargo build tpm_guest_tests + run: |- + flowey e 3 flowey_lib_common::run_cargo_build 9 + flowey e 3 flowey_lib_hvlite::run_cargo_build 20 + shell: bash + - name: split debug symbols + run: |- + flowey e 3 flowey_lib_hvlite::run_split_debug_info 7 + flowey e 3 flowey_lib_hvlite::run_cargo_build 21 + flowey e 3 flowey_lib_hvlite::build_tpm_guest_tests 1 + flowey e 3 flowey_core::pipeline::artifact::publish 9 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-11/flowey - - echo '"debug"' | flowey v 30 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 30 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 30 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 30 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 30 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 30 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + - name: unpack openvmm-deps archive + run: flowey e 3 flowey_lib_hvlite::resolve_openvmm_deps 0 shell: bash - - name: create gh cache dir - run: flowey e 30 flowey_lib_common::download_gh_cli 0 + - name: extract X86_64 sysroot.tar.gz + run: |- + flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 + flowey e 3 flowey_lib_hvlite::init_cross_build 7 shell: bash - - name: Pre-processing cache vars + - name: cargo build pipette run: |- - flowey e 30 flowey_lib_common::cache 0 - flowey v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 - flowey v 30 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 + flowey e 3 flowey_lib_common::run_cargo_build 3 + flowey e 3 flowey_lib_hvlite::run_cargo_build 4 shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@v5 - with: - key: ${{ env.floweyvar2 }} - path: ${{ env.floweyvar3 }} - name: 'Restore cache: gh-cli' - - name: installing gh + - name: split debug symbols run: |- - flowey v 30 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 12 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 12 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 12 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 12 'verbose' update + cat <<'EOF' | flowey.exe v 12 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 12 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 12 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update - shell: bash - - name: checking if packages need to be installed - run: flowey e 12 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 12 flowey_lib_common::install_dist_pkg 1 - shell: bash - - name: create gh-release-download cache dir - run: flowey e 12 flowey_lib_common::download_gh_release 0 - shell: bash - - 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 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@v5 - with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases - run: |- - flowey v 12 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 14 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 14 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 14 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 14 'verbose' update + cat <<'EOF' | flowey v 14 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey.exe e 14 flowey_lib_common::install_rust 0 + run: flowey e 14 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 14 flowey_lib_common::install_rust 1 + run: flowey e 14 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 14 flowey_lib_common::install_rust 2 - flowey.exe e 14 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 14 flowey_lib_common::install_rust 2 + flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 14 flowey_lib_common::git_checkout 0 + flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar7 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 14 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 15 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 15 'verbose' update + cat <<'EOF' | flowey.exe v 15 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey e 15 flowey_lib_common::install_rust 0 + run: flowey.exe e 15 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 15 flowey_lib_common::install_rust 1 + run: flowey.exe e 15 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 15 flowey_lib_common::install_rust 2 - flowey e 15 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 15 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 15 flowey_lib_common::install_dist_pkg 1 + flowey.exe e 15 flowey_lib_common::install_rust 2 + flowey.exe e 15 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 15 flowey_lib_common::git_checkout 0 - flowey v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 - flowey v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar9 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 15 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey echo '"debug"' | flowey v 16 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 16 '_internal_WORKING_DIR' --is-raw-string update @@ -2143,10 +2198,16 @@ jobs: flowey e 16 flowey_lib_common::install_rust 2 flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash + - name: checking if packages need to be installed + run: flowey e 16 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 16 flowey_lib_common::install_dist_pkg 1 + shell: bash - name: check if openvmm needs to be cloned run: |- flowey e 16 flowey_lib_common::git_checkout 0 - flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar9 flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 @@ -2154,7 +2215,7 @@ jobs: with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar9 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories @@ -2164,13 +2225,9 @@ jobs: EOF flowey e 16 flowey_lib_common::git_checkout 3 flowey e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 shell: bash - - name: checking if packages need to be installed - run: flowey e 16 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 16 flowey_lib_common::install_dist_pkg 1 + - name: set '-Dwarnings' in .cargo/config.toml + run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 shell: bash - name: create gh-release-download cache dir run: flowey e 16 flowey_lib_common::download_gh_release 0 @@ -2178,14 +2235,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 16 flowey_lib_common::cache 4 - flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 - flowey v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 + flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 + flowey v 16 '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@v5 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} + key: ${{ env.floweyvar7 }} + path: ${{ env.floweyvar8 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- @@ -2195,36 +2252,16 @@ jobs: flowey e 16 flowey_lib_common::cache 6 flowey e 16 flowey_lib_common::download_gh_release 1 shell: bash - - name: unpack openvmm-deps archive - run: flowey e 16 flowey_lib_hvlite::resolve_openvmm_deps 0 - shell: bash - - name: extract X86_64 sysroot.tar.gz - run: flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - shell: bash - - name: set '-Dwarnings' in .cargo/config.toml - run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 - shell: bash - name: unpack protoc - run: flowey e 16 flowey_lib_common::resolve_protoc 0 + run: |- + flowey e 16 flowey_lib_common::resolve_protoc 0 + flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 shell: bash - name: symlink protoc run: |- flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 16 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo clippy - run: flowey e 16 flowey_lib_common::run_cargo_clippy 4 - shell: bash - - name: cargo clippy - run: flowey e 16 flowey_lib_common::run_cargo_clippy 1 - shell: bash - - name: cargo clippy - run: flowey e 16 flowey_lib_common::run_cargo_clippy 6 - shell: bash - - name: cargo clippy - run: |- - flowey e 16 flowey_lib_common::run_cargo_clippy 5 flowey e 16 flowey_lib_hvlite::init_cross_build 0 + flowey e 16 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build xtask run: |- @@ -2249,6 +2286,9 @@ jobs: - name: cargo clippy run: flowey e 16 flowey_lib_common::run_cargo_clippy 3 shell: bash + - name: cargo clippy + run: flowey e 16 flowey_lib_common::run_cargo_clippy 1 + shell: bash - name: create cargo-nextest cache dir run: |- flowey e 16 flowey_lib_common::download_cargo_nextest 0 @@ -2259,14 +2299,14 @@ jobs: - name: Pre-processing cache vars run: |- flowey e 16 flowey_lib_common::cache 0 - flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 - flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 + flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 + flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v5 with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} + key: ${{ env.floweyvar5 }} + path: ${{ env.floweyvar6 }} name: 'Restore cache: cargo-nextest' - name: downloading cargo-nextest run: |- @@ -2282,17 +2322,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 16 flowey_lib_common::install_cargo_nextest 0 - flowey e 16 flowey_lib_hvlite::init_cross_build 3 + flowey e 16 flowey_lib_hvlite::init_cross_build 1 flowey e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'unit-tests crypto (none)' nextest tests + - name: run 'unit-tests crypto (openssl)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 16 flowey_lib_common::publish_test_results 5 flowey e 16 flowey_lib_common::publish_test_results 6 flowey e 16 flowey_lib_common::publish_test_results 4 @@ -2302,18 +2342,18 @@ jobs: - id: flowey_lib_common__publish_test_results__7 uses: actions/upload-artifact@v7 with: - name: x64-linux-musl-unit-tests-unit-tests crypto (none)-junit-xml + name: aarch64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (none) (JUnit XML)' + name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'unit-tests crypto (openssl)' nextest tests + - name: run 'unit-tests crypto (all)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 16 flowey_lib_common::publish_test_results 8 flowey e 16 flowey_lib_common::publish_test_results 9 flowey e 16 flowey_lib_common::publish_test_results 10 @@ -2323,18 +2363,33 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@v7 with: - name: x64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml + name: aarch64-linux-unit-tests-unit-tests crypto (all)-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)' + name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: cargo build xtask + run: |- + flowey e 16 flowey_lib_hvlite::init_cross_build 3 + flowey e 16 flowey_lib_common::run_cargo_build 1 + flowey e 16 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 16 flowey_lib_hvlite::run_cargo_build 3 + flowey e 16 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 + shell: bash - name: generate nextest command run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'unit-tests crypto (symcrypt)' nextest tests + - name: run 'unit-tests' nextest tests run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 6 flowey e 16 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 16 flowey_lib_common::publish_test_results 12 flowey e 16 flowey_lib_common::publish_test_results 13 flowey e 16 flowey_lib_common::publish_test_results 14 @@ -2344,54 +2399,18 @@ jobs: - id: flowey_lib_common__publish_test_results__15 uses: actions/upload-artifact@v7 with: - name: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml + name: aarch64-linux-unit-tests-unit-tests-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 - shell: bash - - name: run 'unit-tests crypto (all)' nextest tests - run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 - flowey e 16 flowey_lib_common::publish_test_results 16 - flowey e 16 flowey_lib_common::publish_test_results 17 - flowey e 16 flowey_lib_common::publish_test_results 18 - flowey v 16 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5 - flowey v 16 'flowey_lib_common::publish_test_results:28: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__19 - uses: actions/upload-artifact@v7 - with: - name: x64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml - path: ${{ env.floweyvar5 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)' + name: 'publish test results: aarch64-linux-unit-tests-unit-tests (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 16 flowey_lib_hvlite::init_cross_build 1 - flowey e 16 flowey_lib_common::run_cargo_build 1 - flowey e 16 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 16 flowey_lib_hvlite::run_cargo_build 3 - flowey e 16 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 - shell: bash - name: generate nextest command - run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'unit-tests' nextest tests + - name: run 'unit-tests crypto (none)' nextest tests run: |- - flowey e 16 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 16 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 16 flowey_lib_common::publish_test_results 0 flowey e 16 flowey_lib_common::publish_test_results 1 flowey e 16 flowey_lib_common::publish_test_results 2 @@ -2401,16 +2420,16 @@ jobs: - id: flowey_lib_common__publish_test_results__3 uses: actions/upload-artifact@v7 with: - name: x64-linux-musl-unit-tests-unit-tests-junit-xml + name: aarch64-linux-unit-tests-unit-tests crypto (none)-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests-unit-tests (JUnit XML)' + name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (none) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - - name: run doctests for x86_64-unknown-linux-musl + - name: run doctests for aarch64-unknown-linux-gnu run: flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 shell: bash - name: 'validate cache entry: cargo-nextest' @@ -2420,11 +2439,11 @@ jobs: run: flowey e 16 flowey_lib_common::cache 7 shell: bash job17: - name: clippy [aarch64-windows], unit tests [aarch64-windows] + name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] runs-on: - self-hosted - 1ES.Pool=openvmm-gh-arm-westus2 - - 1ES.ImageOverride=win-arm64 + - 1ES.ImageOverride=ubuntu2404-arm64 - JobId=job17-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} permissions: contents: read @@ -2466,11 +2485,11 @@ jobs: - name: Build flowey run: | set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH @@ -2483,7 +2502,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -2491,542 +2510,847 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - echo '"debug"' | flowey.exe v 17 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 17 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 17 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 17 'verbose' update + cat <<'EOF' | flowey v 17 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - name: add default cargo home to path - run: flowey.exe e 17 flowey_lib_common::install_rust 0 + run: flowey e 17 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 17 flowey_lib_common::install_rust 1 + run: flowey e 17 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 17 flowey_lib_common::install_rust 2 - flowey.exe e 17 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 17 flowey_lib_common::install_rust 2 + flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 17 flowey_lib_common::git_checkout 0 + flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 + flowey v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar7 }} + persist-credentials: ${{ env.floweyvar10 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 17 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' + path: ${{ runner.temp }}/used_artifacts/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe - echo '"debug"' | flowey v 18 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 18 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 18 'verbose' update + cat <<'EOF' | flowey.exe v 18 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + 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 + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: add default cargo home to path - run: flowey e 18 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey e 18 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain + - name: create cargo-nextest cache dir run: |- - flowey e 18 flowey_lib_common::install_rust 2 - flowey e 18 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 shell: bash - - name: checking if packages need to be installed - run: flowey e 18 flowey_lib_common::install_dist_pkg 0 + - 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 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 - - name: installing packages - run: flowey e 18 flowey_lib_common::install_dist_pkg 1 + - id: flowey_lib_common__cache__1 + uses: actions/cache@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + + echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 19 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 19 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 19 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 19 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update + shell: bash + - name: create cargo-nextest cache dir run: |- - flowey e 18 flowey_lib_hvlite::init_cross_build 3 - flowey e 18 flowey_lib_common::run_cargo_build 1 - flowey e 18 flowey_lib_hvlite::run_cargo_build 2 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 shell: bash - - name: split debug symbols + - name: Pre-processing cache vars run: |- - flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 18 flowey_lib_hvlite::run_cargo_build 3 - flowey e 18 flowey_lib_hvlite::build_xtask 1 + flowey.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 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 - - name: determine unit test exclusions - run: flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 + - id: flowey_lib_common__cache__1 + uses: actions/cache@v5 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH @@ -3084,7 +3408,7 @@ jobs: ${{ runner.temp }} EOF ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release shell: bash - name: πŸŒΌπŸ›« Initialize job run: | @@ -3092,1072 +3416,133 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey v 19 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 19 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 19 'verbose' update + cat <<'EOF' | flowey.exe v 2 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 2 'artifact_publish_from_x64-windows-pipette' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey e 19 flowey_lib_common::install_rust 0 + run: flowey.exe e 2 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 19 flowey_lib_common::install_rust 1 + run: flowey.exe e 2 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 19 flowey_lib_common::install_rust 2 - flowey e 19 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 2 flowey_lib_common::install_rust 2 + flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey.exe e 2 flowey_lib_common::git_checkout 0 + flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar10 }} + persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 19 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - - echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 2 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update - shell: bash - - name: add default cargo home to path - run: flowey.exe e 2 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey.exe e 2 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey.exe e 2 flowey_lib_common::install_rust 2 - flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - name: check if openvmm needs to be cloned - run: |- - flowey.exe e 2 flowey_lib_common::git_checkout 0 - flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey.exe v 2 '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-windows-uid-6/flowey.exe - - echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 20 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 20 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 20 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 20 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 20 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 20 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 20 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update - shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 20 flowey_lib_common::cache 0 - flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs: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@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe - - echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 21 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update - shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 21 flowey_lib_common::cache 0 - flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 21 '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@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 3 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 3 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 3 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 3 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 3 'verbose' update + cat <<'EOF' | flowey v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 3 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 3 'artifact_publish_from_aarch64-tmks' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" + echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 3 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" + echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 3 'artifact_publish_from_x64-tmks' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey.exe e 3 flowey_lib_common::install_rust 0 + run: flowey e 3 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 3 flowey_lib_common::install_rust 1 + run: flowey e 3 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 3 flowey_lib_common::install_rust 2 - flowey.exe e 3 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 3 flowey_lib_common::install_rust 2 + flowey e 3 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey.exe e 3 flowey_lib_common::git_checkout 0 - flowey.exe v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 3 flowey_lib_common::git_checkout 0 + flowey v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -6273,23 +5632,23 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 3 '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-1/flowey - - echo '"debug"' | flowey v 14 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 14 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" - echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 14 'artifact_publish_from_x64-openhcl-igvm' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" - echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | flowey v 14 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update - shell: bash - - name: checking if packages need to be installed - run: flowey e 14 flowey_lib_common::install_dist_pkg 0 + - run: | + set -x + i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; + sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y + curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y + . "$HOME/.cargo/env" + echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) shell: bash - - name: installing packages - run: flowey e 14 flowey_lib_common::install_dist_pkg 1 - shell: bash - - name: create gh-release-download cache dir - run: flowey e 14 flowey_lib_common::download_gh_release 0 + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) shell: bash - - name: Pre-processing cache vars - run: |- - flowey e 14 flowey_lib_common::cache 0 - flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 - flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@v5 + - uses: actions/checkout@v6 with: - key: ${{ env.floweyvar1 }} - path: ${{ env.floweyvar2 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML run: |- - flowey v 14 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 14 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 14 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 14 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF shell: bash - name: add default cargo home to path - run: flowey e 14 flowey_lib_common::install_rust 0 + run: flowey.exe e 14 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey e 14 flowey_lib_common::install_rust 1 + run: flowey.exe e 14 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey e 14 flowey_lib_common::install_rust 2 - flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 14 flowey_lib_common::install_rust 2 + flowey.exe e 14 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey e 14 flowey_lib_common::git_checkout 0 - flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3 - flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar3 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey v 14 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML + - name: installing cargo-nextest run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - - echo '"debug"' | flowey.exe v 16 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 16 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 16 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: add default cargo home to path - run: flowey.exe e 16 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey.exe e 16 flowey_lib_common::install_rust 1 + flowey e 15 flowey_lib_common::install_cargo_nextest 0 + flowey e 15 flowey_lib_hvlite::init_cross_build 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - - name: detect active toolchain - run: |- - flowey.exe e 16 flowey_lib_common::install_rust 2 - flowey.exe e 16 flowey_lib_common::cfg_cargo_common_flags 0 + - name: generate nextest command + run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: check if openvmm needs to be cloned + - name: run 'unit-tests crypto (openssl)' nextest tests 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 15 flowey_lib_common::publish_test_results 5 + flowey e 15 flowey_lib_common::publish_test_results 6 + flowey e 15 flowey_lib_common::publish_test_results 4 + flowey v 15 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar2 + flowey v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 + - id: flowey_lib_common__publish_test_results__7 + uses: actions/upload-artifact@v7 with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar7 }} - name: checkout repo openvmm + name: x64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml + path: ${{ env.floweyvar2 }} + name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey.exe v 16 '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-1/flowey - - echo '"debug"' | flowey v 18 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 18 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 18 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: add default cargo home to path - run: flowey e 18 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey e 18 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey e 18 flowey_lib_common::install_rust 2 - flowey e 18 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10 - flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar10 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey v 18 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" - mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - - echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 19 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: add default cargo home to path - run: flowey.exe e 19 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey.exe e 19 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey.exe e 19 flowey_lib_common::install_rust 2 - flowey.exe e 19 flowey_lib_common::cfg_cargo_common_flags 0 - shell: bash - - 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 - flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar7 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey.exe v 19 '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 @@ -3153,156 +2302,208 @@ jobs: chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 17 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 17 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 2 'verbose' update + cat <<'EOF' | flowey.exe v 17 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey.exe e 2 flowey_lib_common::install_rust 0 + run: flowey.exe e 17 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 2 flowey_lib_common::install_rust 1 + run: flowey.exe e 17 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 2 flowey_lib_common::install_rust 2 - flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 17 flowey_lib_common::install_rust 2 + flowey.exe e 17 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey.exe e 2 flowey_lib_common::git_checkout 0 - flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + 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:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar7 + flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 - persist-credentials: ${{ env.floweyvar1 }} + persist-credentials: ${{ env.floweyvar7 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 2 '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" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@v6 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 2 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 2 'artifact_publish_from_x64-windows-pipette' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 2 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 2 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 2 flowey_lib_common::install_rust 2 + flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 2 flowey_lib_common::git_checkout 0 + flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 2 '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-1/flowey - - echo '"debug"' | flowey v 29 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 29 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 29 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: check if openvmm needs to be cloned - run: |- - flowey e 29 flowey_lib_common::git_checkout 0 - flowey v 29 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey v 29 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@v6 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey v 29 '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" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@v6 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + needs: + - job0 + if: github.event.pull_request.draft == false + steps: + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@v8 + with: + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - echo '"debug"' | flowey.exe v 3 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 3 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 27 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 27 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 3 'verbose' update + cat <<'EOF' | flowey v 27 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update - shell: bash - - name: add default cargo home to path - run: flowey.exe e 3 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey.exe e 3 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain - run: |- - flowey.exe e 3 flowey_lib_common::install_rust 2 - flowey.exe e 3 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey.exe e 3 flowey_lib_common::git_checkout 0 - flowey.exe v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 - flowey.exe v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + flowey e 27 flowey_lib_common::git_checkout 0 + flowey v 27 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey v 27 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 @@ -6119,71 +5372,35 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 3 '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-1/flowey + + echo '"debug"' | flowey v 3 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 3 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 3 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 3 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 3 'artifact_publish_from_aarch64-tmks' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" + echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 3 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" + echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 3 'artifact_publish_from_x64-tmks' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey e 3 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey e 3 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey e 3 flowey_lib_common::install_rust 2 + flowey e 3 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 3 flowey_lib_common::git_checkout 0 + flowey v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 + flowey v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@v6 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 3 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace < "x64", + CommonArch::Aarch64 => "aarch64", + }; + let (pub_pipette_windows, use_pipette_windows) = + pipeline.new_typed_artifact(format!("{arch_tag}-windows-pipette")); + // filter off artifacts required by the VMM tests job + match arch { + CommonArch::X86_64 => { + vmm_tests_artifacts_linux_x86.use_pipette_windows = + Some(use_pipette_windows.clone()); + vmm_tests_artifacts_linux_musl_x86.use_pipette_windows = + Some(use_pipette_windows.clone()); + vmm_tests_artifacts_windows_x86.use_pipette_windows = + Some(use_pipette_windows.clone()); + } + CommonArch::Aarch64 => { + vmm_tests_artifacts_windows_aarch64.use_pipette_windows = + Some(use_pipette_windows.clone()); + } + } + shared_win_pipette_artifacts.push((arch, pub_pipette_windows)); + } + let mut shared_win_job = pipeline + .new_job( + FlowPlatform::Windows, + FlowArch::X86_64, + format!("build artifacts (shared VMM tests) [windows]"), + ) + .gh_set_pool(gh_pools::default_windows()) + .ado_set_pool(ado_pools::default_windows()); + for (arch, pub_pipette_windows) in shared_win_pipette_artifacts { + shared_win_job = shared_win_job.publish(pub_pipette_windows, |pipette| { + flowey_lib_hvlite::build_pipette::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::WindowsMsvc, + }, + profile: CommonProfile::from_release(release), + pipette, + } + }); + } + all_jobs.push(shared_win_job.finish()); + + // Now do linux + // + // Create the per-arch artifacts up front so that we don't try to + // mutably borrow `pipeline` while the job builder also holds a + // mutable borrow. + let mut shared_linux_artifacts = Vec::new(); + for arch in [CommonArch::Aarch64, CommonArch::X86_64] { + let arch_tag = match arch { + CommonArch::X86_64 => "x64", + CommonArch::Aarch64 => "aarch64", + }; + + let (pub_tpm_guest_tests, use_tpm_guest_tests) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-tpm_guest_tests")); + let (pub_guest_test_uefi, use_guest_test_uefi) = + pipeline.new_typed_artifact(format!("{arch_tag}-guest_test_uefi")); + let (pub_pipette_linux_musl, use_pipette_linux_musl) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-pipette")); + let (pub_tmk_vmm, use_tmk_vmm) = + pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-tmk_vmm")); + let (pub_tmks, use_tmks) = pipeline.new_typed_artifact(format!("{arch_tag}-tmks")); + + match arch { + CommonArch::X86_64 => { + vmm_tests_artifacts_linux_x86.use_guest_test_uefi = + Some(use_guest_test_uefi.clone()); + vmm_tests_artifacts_windows_x86.use_guest_test_uefi = + Some(use_guest_test_uefi.clone()); + vmm_tests_artifacts_windows_x86.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_linux_x86.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_windows_x86.use_tpm_guest_tests_linux = + Some(use_tpm_guest_tests.clone()); + vmm_tests_artifacts_linux_musl_x86.use_guest_test_uefi = + Some(use_guest_test_uefi.clone()); + vmm_tests_artifacts_linux_musl_x86.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_windows_x86.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_linux_x86.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_linux_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); + vmm_tests_artifacts_windows_x86.use_tmk_vmm_linux_musl = + Some(use_tmk_vmm.clone()); + vmm_tests_artifacts_linux_musl_x86.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_linux_musl_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); + } + CommonArch::Aarch64 => { + vmm_tests_artifacts_windows_aarch64.use_guest_test_uefi = + Some(use_guest_test_uefi.clone()); + vmm_tests_artifacts_windows_aarch64.use_tmks = Some(use_tmks.clone()); + vmm_tests_artifacts_windows_aarch64.use_pipette_linux_musl = + Some(use_pipette_linux_musl.clone()); + vmm_tests_artifacts_windows_aarch64.use_tmk_vmm_linux_musl = + Some(use_tmk_vmm.clone()); + } + } + + shared_linux_artifacts.push(( + arch, + pub_tpm_guest_tests, + pub_guest_test_uefi, + pub_pipette_linux_musl, + pub_tmk_vmm, + pub_tmks, + )); + } + + let mut shared_linux_job = pipeline + .new_job( + FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), + FlowArch::X86_64, + format!("build artifacts (shared VMM tests) [linux]"), + ) + .gh_set_pool(gh_pools::default_linux()) + .ado_set_pool(ado_pools::default_linux()); + for ( + arch, + pub_tpm_guest_tests, + pub_guest_test_uefi, + pub_pipette_linux_musl, + pub_tmk_vmm, + pub_tmks, + ) in shared_linux_artifacts + { + shared_linux_job = shared_linux_job + .publish(pub_guest_test_uefi, |guest_test_uefi| { + flowey_lib_hvlite::build_guest_test_uefi::Request { + arch, + profile: CommonProfile::from_release(release), + guest_test_uefi, + } + }) + .publish(pub_tmks, |tmks| flowey_lib_hvlite::build_tmks::Request { + arch, + profile: CommonProfile::from_release(release), + tmks, + }) + .publish(pub_tpm_guest_tests, |tpm_guest_tests| { + flowey_lib_hvlite::build_tpm_guest_tests::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxGnu, + }, + profile: CommonProfile::from_release(release), + tpm_guest_tests, + } + }) + .publish(pub_pipette_linux_musl, |pipette| { + flowey_lib_hvlite::build_pipette::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxMusl, + }, + profile: CommonProfile::from_release(release), + pipette, + } + }) + .publish(pub_tmk_vmm, |tmk_vmm| { + flowey_lib_hvlite::build_tmk_vmm::Request { + target: CommonTriple::Common { + arch, + platform: CommonPlatform::LinuxMusl, + }, + profile: CommonProfile::from_release(release), + unstable_whp: false, + tmk_vmm, + } + }); + } + + all_jobs.push(shared_linux_job.finish()); + // emit windows build machine jobs // // In order to ensure we start running VMM tests as soon as possible, we emit @@ -320,9 +508,6 @@ impl IntoPipeline for CheckinGatesCli { let (pub_openvmm, use_openvmm) = pipeline.new_typed_artifact(format!("{arch_tag}-windows-openvmm")); - let (pub_pipette_windows, use_pipette_windows) = - pipeline.new_typed_artifact(format!("{arch_tag}-windows-pipette")); - let (pub_tmk_vmm, use_tmk_vmm) = pipeline.new_typed_artifact(format!("{arch_tag}-windows-tmk_vmm")); @@ -341,13 +526,7 @@ impl IntoPipeline for CheckinGatesCli { // filter off interesting artifacts required by the VMM tests job match arch { CommonArch::X86_64 => { - vmm_tests_artifacts_linux_x86.use_pipette_windows = - Some(use_pipette_windows.clone()); - vmm_tests_artifacts_linux_musl_x86.use_pipette_windows = - Some(use_pipette_windows.clone()); vmm_tests_artifacts_windows_x86.use_openvmm = Some(use_openvmm.clone()); - vmm_tests_artifacts_windows_x86.use_pipette_windows = - Some(use_pipette_windows.clone()); vmm_tests_artifacts_windows_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); vmm_tests_artifacts_windows_x86.use_prep_steps = Some(use_prep_steps.clone()); vmm_tests_artifacts_windows_x86.use_vmgstool = Some(use_vmgstool.clone()); @@ -358,8 +537,6 @@ impl IntoPipeline for CheckinGatesCli { } CommonArch::Aarch64 => { vmm_tests_artifacts_windows_aarch64.use_openvmm = Some(use_openvmm.clone()); - vmm_tests_artifacts_windows_aarch64.use_pipette_windows = - Some(use_pipette_windows.clone()); vmm_tests_artifacts_windows_aarch64.use_tmk_vmm = Some(use_tmk_vmm.clone()); vmm_tests_artifacts_windows_aarch64.use_vmgstool = Some(use_vmgstool.clone()); } @@ -430,28 +607,6 @@ impl IntoPipeline for CheckinGatesCli { all_jobs.push(job.finish()); - // emit a job for artifacts used by VMM tests on multiple platforms - let job = pipeline - .new_job( - FlowPlatform::Windows, - FlowArch::X86_64, - format!("build artifacts (shared VMM tests) [{arch_tag}-windows]"), - ) - .gh_set_pool(gh_pools::default_windows()) - .ado_set_pool(ado_pools::default_windows()) - .publish(pub_pipette_windows, |pipette| { - flowey_lib_hvlite::build_pipette::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::WindowsMsvc, - }, - profile: CommonProfile::from_release(release), - pipette, - } - }); - - all_jobs.push(job.finish()); - let vmgstool_target = CommonTriple::Common { arch, platform: CommonPlatform::WindowsMsvc, @@ -583,71 +738,6 @@ impl IntoPipeline for CheckinGatesCli { CommonArch::Aarch64 => "aarch64", }; - let (pub_tpm_guest_tests, use_tpm_guest_tests) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-tpm_guest_tests")); - let (pub_guest_test_uefi, use_guest_test_uefi) = - pipeline.new_typed_artifact(format!("{arch_tag}-guest_test_uefi")); - let (pub_pipette_linux_musl, use_pipette_linux_musl) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-pipette")); - let (pub_tmk_vmm, use_tmk_vmm) = - pipeline.new_typed_artifact(format!("{arch_tag}-linux-musl-tmk_vmm")); - let (pub_tmks, use_tmks) = pipeline.new_typed_artifact(format!("{arch_tag}-tmks")); - - // Emit a job for building dependencies used by all platforms vmm tests - let shared_job = pipeline - .new_job( - FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), - FlowArch::X86_64, - format!("build artifacts (shared VMM tests) [{arch_tag}-linux]"), - ) - .gh_set_pool(gh_pools::default_linux()) - .ado_set_pool(ado_pools::default_linux()) - .publish(pub_guest_test_uefi, |guest_test_uefi| { - flowey_lib_hvlite::build_guest_test_uefi::Request { - arch, - profile: CommonProfile::from_release(release), - guest_test_uefi, - } - }) - .publish(pub_tmks, |tmks| flowey_lib_hvlite::build_tmks::Request { - arch, - profile: CommonProfile::from_release(release), - tmks, - }) - .publish(pub_tpm_guest_tests, |tpm_guest_tests| { - flowey_lib_hvlite::build_tpm_guest_tests::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxGnu, - }, - profile: CommonProfile::from_release(release), - tpm_guest_tests, - } - }) - .publish(pub_pipette_linux_musl, |pipette| { - flowey_lib_hvlite::build_pipette::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxMusl, - }, - profile: CommonProfile::from_release(release), - pipette, - } - }) - .publish(pub_tmk_vmm, |tmk_vmm| { - flowey_lib_hvlite::build_tmk_vmm::Request { - target: CommonTriple::Common { - arch, - platform: CommonPlatform::LinuxMusl, - }, - profile: CommonProfile::from_release(release), - unstable_whp: false, - tmk_vmm, - } - }) - .finish(); - all_jobs.push(shared_job); - let (pub_openvmm, use_openvmm) = pipeline.new_typed_artifact(format!("{arch_tag}-linux-openvmm")); let (pub_openvmm_vhost, use_openvmm_vhost) = @@ -674,40 +764,11 @@ impl IntoPipeline for CheckinGatesCli { vmm_tests_artifacts_linux_x86.use_openvmm = Some(use_openvmm.clone()); vmm_tests_artifacts_linux_x86.use_openvmm_vhost = Some(use_openvmm_vhost.clone()); - vmm_tests_artifacts_linux_x86.use_guest_test_uefi = - Some(use_guest_test_uefi.clone()); - vmm_tests_artifacts_windows_x86.use_guest_test_uefi = - Some(use_guest_test_uefi.clone()); - vmm_tests_artifacts_windows_x86.use_tmks = Some(use_tmks.clone()); - vmm_tests_artifacts_linux_x86.use_tmks = Some(use_tmks.clone()); - vmm_tests_artifacts_windows_x86.use_tpm_guest_tests_linux = - Some(use_tpm_guest_tests.clone()); - vmm_tests_artifacts_linux_musl_x86.use_guest_test_uefi = - Some(use_guest_test_uefi.clone()); - vmm_tests_artifacts_linux_musl_x86.use_tmks = Some(use_tmks.clone()); - vmm_tests_artifacts_windows_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); - vmm_tests_artifacts_windows_x86.use_tmk_vmm_linux_musl = - Some(use_tmk_vmm.clone()); vmm_tests_artifacts_linux_musl_x86.use_openvmm = Some(use_openvmm_musl.clone()); vmm_tests_artifacts_linux_musl_x86.use_openvmm_vhost = Some(use_openvmm_vhost_musl.clone()); - vmm_tests_artifacts_linux_musl_x86.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_linux_musl_x86.use_tmk_vmm = Some(use_tmk_vmm.clone()); - } - CommonArch::Aarch64 => { - vmm_tests_artifacts_windows_aarch64.use_guest_test_uefi = - Some(use_guest_test_uefi.clone()); - vmm_tests_artifacts_windows_aarch64.use_tmks = Some(use_tmks.clone()); - vmm_tests_artifacts_windows_aarch64.use_pipette_linux_musl = - Some(use_pipette_linux_musl.clone()); - vmm_tests_artifacts_windows_aarch64.use_tmk_vmm_linux_musl = - Some(use_tmk_vmm.clone()); } + CommonArch::Aarch64 => {} } let vmgstool_target = CommonTriple::Common { From c92ee90eea5b83cf6d39cdbe40d8050df612954c Mon Sep 17 00:00:00 2001 From: Steven Malis <137308034+smalis-msft@users.noreply.github.com> Date: Tue, 5 May 2026 14:39:40 -0700 Subject: [PATCH 11/14] fix format Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- 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 4fb5be9e25..3021963d5a 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -342,7 +342,7 @@ impl IntoPipeline for CheckinGatesCli { .new_job( FlowPlatform::Windows, FlowArch::X86_64, - format!("build artifacts (shared VMM tests) [windows]"), + "build artifacts (shared VMM tests) [windows]".to_string(), ) .gh_set_pool(gh_pools::default_windows()) .ado_set_pool(ado_pools::default_windows()); From bc2a139e80c46be1d25557f233e722d6664ab394 Mon Sep 17 00:00:00 2001 From: Steven Malis <137308034+smalis-msft@users.noreply.github.com> Date: Tue, 5 May 2026 14:52:23 -0700 Subject: [PATCH 12/14] fix format Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- 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 3021963d5a..6bed19bbda 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -431,7 +431,7 @@ impl IntoPipeline for CheckinGatesCli { .new_job( FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), FlowArch::X86_64, - format!("build artifacts (shared VMM tests) [linux]"), + "build artifacts (shared VMM tests) [linux]".to_string(), ) .gh_set_pool(gh_pools::default_linux()) .ado_set_pool(ado_pools::default_linux()); From 76000e6da56fd9a0912554b2f237620385f8b5d7 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Tue, 5 May 2026 15:23:45 -0700 Subject: [PATCH 13/14] fix clippy --- flowey/flowey_hvlite/src/pipelines/checkin_gates.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 6bed19bbda..f1bb145081 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -342,7 +342,7 @@ impl IntoPipeline for CheckinGatesCli { .new_job( FlowPlatform::Windows, FlowArch::X86_64, - "build artifacts (shared VMM tests) [windows]".to_string(), + "build artifacts (shared VMM tests) [windows]", ) .gh_set_pool(gh_pools::default_windows()) .ado_set_pool(ado_pools::default_windows()); @@ -431,7 +431,7 @@ impl IntoPipeline for CheckinGatesCli { .new_job( FlowPlatform::Linux(FlowPlatformLinuxDistro::Ubuntu), FlowArch::X86_64, - "build artifacts (shared VMM tests) [linux]".to_string(), + "build artifacts (shared VMM tests) [linux]", ) .gh_set_pool(gh_pools::default_linux()) .ado_set_pool(ado_pools::default_linux()); From 7f7bbe36aad2f01942e6ca7c3c997eb497c8ace3 Mon Sep 17 00:00:00 2001 From: Steven Malis Date: Wed, 6 May 2026 12:50:19 -0700 Subject: [PATCH 14/14] regen --- .github/workflows/openvmm-ci.yaml | 1346 ++++++++------------ .github/workflows/openvmm-pr-release.yaml | 1274 ++++++++----------- .github/workflows/openvmm-pr.yaml | 1407 +++++++++------------ 3 files changed, 1605 insertions(+), 2422 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index fc09d9911f..1ca5abd978 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -3981,283 +3981,12 @@ jobs: run: flowey.exe e 20 flowey_lib_common::cache 11 shell: bash job21: - name: run vmm-tests [x64-windows-amd-snp] - runs-on: - - self-hosted - - Windows - - X64 - - SNP - - Baremetal - permissions: - contents: read - id-token: write - needs: - - job11 - - job2 - - job3 - - job7 - if: github.event.pull_request.draft == false - steps: - - name: πŸŒΌπŸ“¦ Download artifacts - uses: actions/download-artifact@v8 - with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-13,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' - path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-13/flowey.exe - - echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 21 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update - shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 21 flowey_lib_common::cache 0 - flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 21 '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@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe - - echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 21 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update - shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 21 flowey_lib_common::cache 0 - flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 21 '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@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe - - echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 23 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 23 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 23 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 23 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 23 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 23 'artifact_use_from_x64-tmks' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 23 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 23 'artifact_use_from_x64-windows-pipette' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 23 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 23 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 23 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 23 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 23 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update - shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 23 flowey_lib_common::cache 0 - flowey.exe v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 23 '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@v5 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 23 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + + echo '"debug"' | flowey v 29 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 29 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 29 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: Check if any jobs failed + run: flowey e 29 flowey_lib_hvlite::_jobs::all_good_job 0 shell: bash job3: name: build artifacts (shared VMM tests) [linux] @@ -6273,73 +6067,6 @@ jobs: name: x64-tmks path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ include-hidden-files: true - job30: - name: openvmm checkin gates - runs-on: ubuntu-latest - permissions: - contents: read - id-token: write - needs: - - job0 - - job1 - - job10 - - job11 - - job12 - - job13 - - job14 - - job15 - - job16 - - job17 - - job18 - - job19 - - job2 - - job20 - - job21 - - job22 - - job23 - - job24 - - job25 - - job26 - - job27 - - job28 - - job29 - - job3 - - job4 - - job5 - - job6 - - job7 - - job8 - - job9 - if: always() && github.event.pull_request.draft == false - env: - ANY_JOBS_FAILED: ${{ contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }} - steps: - - name: πŸŒΌπŸ“¦ Download artifacts - uses: actions/download-artifact@v8 - with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - - echo '"debug"' | flowey v 30 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 30 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: Check if any jobs failed - run: flowey e 30 flowey_lib_hvlite::_jobs::all_good_job 0 - shell: bash job4: name: build artifacts (not for VMM tests) [aarch64-windows] runs-on: