sparse_mmap, membacking: add NUMA-aware memory allocation and mapping⦠#2676
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ############################## | |
| # THIS FILE IS AUTOGENERATED # | |
| # DO NOT MANUALLY EDIT # | |
| ############################## | |
| name: OpenVMM CI | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| verbose: | |
| description: Run with verbose output | |
| default: false | |
| required: false | |
| type: boolean | |
| push: | |
| branches: | |
| - main | |
| - release/* | |
| paths-ignore: | |
| - Guide/** | |
| - petri/logview/** | |
| jobs: | |
| job0: | |
| name: xtask fmt (windows) | |
| runs-on: windows-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job1 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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 0 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 0 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 0 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 0 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 0 '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 0 '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 0 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 0 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 0 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 0 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey.exe e 0 flowey_lib_common::install_rust 2 | |
| flowey.exe e 0 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 0 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 0 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 0 flowey_lib_common::cache 0 | |
| flowey.exe v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 0 '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-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 0 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 0 flowey_lib_common::cache 2 | |
| flowey.exe e 0 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 0 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 0 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 0 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 0 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 0 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 0 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: run xtask fmt | |
| run: flowey.exe e 0 flowey_lib_hvlite::_jobs::check_xtask_fmt 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 0 flowey_lib_common::cache 3 | |
| shell: bash | |
| job1: | |
| name: xtask fmt (linux) | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 1 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 1 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 1 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 1 flowey_lib_common::git_checkout 0 | |
| flowey v 1 '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 1 '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 1 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 1 flowey_lib_common::git_checkout 3 | |
| flowey e 1 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 1 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 1 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 1 flowey_lib_common::install_rust 2 | |
| flowey e 1 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 1 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 1 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 1 flowey_lib_common::cache 0 | |
| flowey v 1 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 1 '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-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 1 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 1 flowey_lib_common::cache 2 | |
| flowey e 1 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 1 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 1 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 1 flowey_lib_common::resolve_protoc 0 | |
| flowey e 1 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 1 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 1 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 1 flowey_lib_common::run_cargo_build 0 | |
| flowey e 1 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 1 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 1 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 1 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: run xtask fmt | |
| run: flowey e 1 flowey_lib_hvlite::_jobs::check_xtask_fmt 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 1 flowey_lib_common::cache 3 | |
| shell: bash | |
| job10: | |
| name: build openhcl [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job10-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 10 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 10 '_internal_WORKING_DIR' --is-raw-string 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 10 flowey_lib_common::cache 2 | |
| flowey e 10 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack mu_msvm package (aarch64) | |
| run: flowey e 10 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 10 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 10 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 10 flowey_lib_common::install_rust 2 | |
| flowey e 10 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 10 flowey_lib_common::git_checkout 0 | |
| flowey v 10 '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 10 '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 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 10 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 10 flowey_lib_common::git_checkout 3 | |
| flowey e 10 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 10 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 10 flowey_lib_common::resolve_protoc 0 | |
| flowey e 10 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 10 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: cargo build openhcl_boot | |
| run: |- | |
| flowey e 10 flowey_lib_common::run_cargo_build 1 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 4 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 2 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 5 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_boot 0 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::resolve_openhcl_kernel_package 1 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 10 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| flowey e 10 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| run: |- | |
| flowey e 10 flowey_lib_common::run_cargo_build 3 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 8 | |
| flowey e 10 flowey_lib_hvlite::build_openvmm_hcl 1 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_initrd 1 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 | |
| flowey e 10 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey e 10 flowey_lib_common::run_cargo_build 0 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 10 flowey_lib_hvlite::build_igvmfilegen 0 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_igvmfilegen 1 | |
| flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_initrd 0 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_igvmfilegen 0 | |
| flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0 | |
| flowey e 10 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm files to artifact dir | |
| run: |- | |
| flowey e 10 flowey_lib_common::copy_to_artifact_dir 1 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 | |
| flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
| flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1 | |
| flowey e 10 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm extras to artifact dir | |
| run: |- | |
| flowey e 10 flowey_lib_common::copy_to_artifact_dir 0 | |
| flowey e 10 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| run: |- | |
| flowey e 10 flowey_lib_common::run_cargo_build 2 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 6 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 3 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 7 | |
| flowey e 10 flowey_lib_hvlite::build_openvmm_hcl 0 | |
| shell: bash | |
| - name: copying openhcl build to publish dir | |
| run: flowey e 10 flowey_lib_hvlite::artifact_openvmm_hcl_sizecheck::publish 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 10 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: πΌπ¦ Publish aarch64-openhcl-baseline | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-openhcl-baseline | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-baseline/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-openhcl-igvm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-openhcl-igvm | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-openhcl-igvm-extras | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-openhcl-igvm-extras | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ | |
| include-hidden-files: true | |
| job11: | |
| name: build openhcl [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job11-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 11 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 11 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 11 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-baseline" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-baseline" | flowey v 11 'artifact_publish_from_x64-openhcl-baseline' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 11 '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 11 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 11 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 11 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 11 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 11 flowey_lib_common::cache 0 | |
| flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 | |
| flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 | |
| 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 11 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 11 flowey_lib_common::cache 2 | |
| flowey e 11 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 11 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 11 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 11 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 11 flowey_lib_common::install_rust 2 | |
| flowey e 11 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 11 flowey_lib_common::git_checkout 0 | |
| flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs: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 11 '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 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 11 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 11 flowey_lib_common::git_checkout 3 | |
| flowey e 11 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 11 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 11 flowey_lib_common::resolve_protoc 0 | |
| flowey e 11 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 11 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 9 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 10 | |
| shell: bash | |
| - name: cargo build sidecar | |
| run: |- | |
| flowey e 11 flowey_lib_common::run_cargo_build 4 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 11 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 7 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 12 | |
| flowey e 11 flowey_lib_hvlite::build_sidecar 0 | |
| flowey e 11 flowey_lib_hvlite::init_cross_build 1 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: cargo build openhcl_boot | |
| run: |- | |
| flowey e 11 flowey_lib_common::run_cargo_build 1 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 4 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 5 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 5 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_boot 0 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::resolve_openhcl_kernel_package 2 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 11 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| flowey e 11 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| run: |- | |
| flowey e 11 flowey_lib_common::run_cargo_build 3 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 8 | |
| flowey e 11 flowey_lib_hvlite::build_openvmm_hcl 1 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_initrd 4 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 | |
| flowey e 11 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey e 11 flowey_lib_common::run_cargo_build 0 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 8 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 11 flowey_lib_hvlite::build_igvmfilegen 0 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_igvmfilegen 4 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 39 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 40 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: flowey e 11 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: flowey e 11 flowey_lib_hvlite::build_openhcl_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 11 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 41 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 42 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 43 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_igvmfilegen 0 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 50 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 46 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 47 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 48 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 51 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_initrd 1 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 52 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 53 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 54 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_igvmfilegen 1 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 6 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::resolve_openhcl_kernel_package 1 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 3 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_initrd 3 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_igvmfilegen 3 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 8 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 2 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_initrd 2 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_igvmfilegen 2 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0 | |
| flowey e 11 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm files to artifact dir | |
| run: |- | |
| flowey e 11 flowey_lib_common::copy_to_artifact_dir 1 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 38 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 49 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 45 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 44 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 7 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 9 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 | |
| flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
| flowey e 11 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1 | |
| flowey e 11 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm extras to artifact dir | |
| run: |- | |
| flowey e 11 flowey_lib_common::copy_to_artifact_dir 0 | |
| flowey e 11 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| run: |- | |
| flowey e 11 flowey_lib_common::run_cargo_build 2 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 6 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 6 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 7 | |
| flowey e 11 flowey_lib_hvlite::build_openvmm_hcl 0 | |
| shell: bash | |
| - name: copying openhcl build to publish dir | |
| run: flowey e 11 flowey_lib_hvlite::artifact_openvmm_hcl_sizecheck::publish 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 11 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: πΌπ¦ Publish x64-openhcl-baseline | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-openhcl-baseline | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-baseline/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-openhcl-igvm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-openhcl-igvm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-openhcl-igvm-extras | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-openhcl-igvm-extras | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ | |
| include-hidden-files: true | |
| job12: | |
| name: build openhcl (mi-secure) [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job12-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 12 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 12 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm" | flowey v 12 'artifact_publish_from_x64-mi-secure-openhcl-igvm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-extras" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-extras" | flowey v 12 'artifact_publish_from_x64-mi-secure-openhcl-igvm-extras' --is-raw-string update | |
| 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 12 flowey_lib_common::cache 2 | |
| flowey e 12 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 12 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey e 12 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 12 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey 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 | |
| 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 floweyvar3 | |
| flowey 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.floweyvar3 }} | |
| 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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 12 flowey_lib_common::git_checkout 3 | |
| flowey e 12 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 12 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| 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: unpack protoc | |
| run: |- | |
| flowey e 12 flowey_lib_common::resolve_protoc 0 | |
| flowey e 12 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 12 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 7 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 8 | |
| shell: bash | |
| - name: cargo build sidecar | |
| run: |- | |
| flowey e 12 flowey_lib_common::run_cargo_build 3 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 9 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 10 | |
| flowey e 12 flowey_lib_hvlite::build_sidecar 0 | |
| flowey e 12 flowey_lib_hvlite::init_cross_build 1 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: cargo build openhcl_boot | |
| run: |- | |
| flowey e 12 flowey_lib_common::run_cargo_build 1 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 4 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_split_debug_info 3 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 5 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_boot 0 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 12 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| flowey e 12 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| run: |- | |
| flowey e 12 flowey_lib_common::run_cargo_build 2 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey e 12 flowey_lib_hvlite::build_openvmm_hcl 0 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_split_debug_info 2 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 2 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 | |
| flowey e 12 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey e 12 flowey_lib_common::run_cargo_build 0 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_split_debug_info 5 | |
| flowey e 12 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 12 flowey_lib_hvlite::build_igvmfilegen 0 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_igvmfilegen 2 | |
| flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 12 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::resolve_openhcl_kernel_package 1 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 1 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_igvmfilegen 1 | |
| flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 0 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 12 flowey_lib_hvlite::run_igvmfilegen 0 | |
| flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0 | |
| flowey e 12 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm files to artifact dir | |
| run: |- | |
| flowey e 12 flowey_lib_common::copy_to_artifact_dir 1 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 | |
| flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 | |
| flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 | |
| flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
| flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1 | |
| flowey e 12 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm extras to artifact dir | |
| run: flowey e 12 flowey_lib_common::copy_to_artifact_dir 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 12 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: πΌπ¦ Publish x64-mi-secure-openhcl-igvm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-mi-secure-openhcl-igvm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-mi-secure-openhcl-igvm-extras | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-mi-secure-openhcl-igvm-extras | |
| path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm-extras/ | |
| include-hidden-files: true | |
| job13: | |
| name: clippy [x64-windows], unit tests [x64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job13-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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 13 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 13 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe 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 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe 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 | |
| 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 floweyvar8 | |
| 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 | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar8 }} | |
| 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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 13 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 13 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 13 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 13 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::cache 4 | |
| flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 13 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 13 flowey_lib_common::cache 6 | |
| flowey.exe e 13 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 13 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 13 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 13 flowey_lib_hvlite::init_cross_build 0 | |
| flowey.exe e 13 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 13 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 13 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey.exe e 13 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey.exe e 13 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey.exe e 13 flowey_lib_common::run_cargo_clippy 1 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey.exe e 13 flowey_lib_common::run_cargo_clippy 2 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 13 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 13 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::cache 0 | |
| flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 13 '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 13 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 13 flowey_lib_common::cache 2 | |
| flowey.exe e 13 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 13 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::install_cargo_nextest 0 | |
| flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 | |
| flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| shell: bash | |
| - name: run 'unit-tests crypto (rust)' nextest tests | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 2 | |
| flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 3 | |
| flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 3 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 5 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 6 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 4 | |
| flowey.exe 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.exe 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 | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__7 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-unit-tests-unit-tests crypto (rust)-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-unit-tests-unit-tests crypto (rust) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 | |
| flowey.exe e 13 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 13 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 13 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 | |
| flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 | |
| flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 8 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 9 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 10 | |
| flowey.exe v 13 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3 | |
| flowey.exe v 13 'flowey_lib_common::publish_test_results:14: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__11 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-unit-tests-unit-tests-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: x64-windows-unit-tests-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests crypto (none)' nextest tests | |
| run: |- | |
| flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 2 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 13 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-unit-tests-unit-tests crypto (none)-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-unit-tests-unit-tests crypto (none) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: |- | |
| flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 4 | |
| flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| shell: bash | |
| - name: run doctests for x86_64-pc-windows-msvc | |
| run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 13 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 13 flowey_lib_common::cache 7 | |
| shell: bash | |
| job14: | |
| name: clippy [x64-linux, macos], unit tests [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job14-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 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 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 14 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey 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 e 14 flowey_lib_hvlite::init_cross_build 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 | |
| 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 14 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 14 flowey_lib_common::git_checkout 3 | |
| flowey e 14 flowey_lib_hvlite::git_checkout_openvmm_repo 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: 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 4 | |
| 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.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey e 14 flowey_lib_common::cache 6 | |
| flowey e 14 flowey_lib_common::download_gh_release 1 | |
| 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: unpack protoc | |
| run: |- | |
| flowey e 14 flowey_lib_common::resolve_protoc 0 | |
| flowey e 14 flowey_lib_hvlite::cfg_openvmm_magicpath 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 3 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 14 flowey_lib_common::run_cargo_build 1 | |
| 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 2 | |
| flowey e 14 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 14 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey e 14 flowey_lib_hvlite::_jobs::check_clippy 1 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 14 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 14 flowey_lib_common::run_cargo_clippy 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 3 | |
| shell: bash | |
| - name: cargo clippy | |
| run: |- | |
| flowey e 14 flowey_lib_common::run_cargo_clippy 1 | |
| flowey e 14 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 14 flowey_lib_common::run_cargo_build 2 | |
| 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 clippy exclusions | |
| run: flowey e 14 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 14 flowey_lib_common::run_cargo_clippy 5 | |
| 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 7 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 14 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 14 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 14 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 14 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| 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 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.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 14 flowey_lib_common::cache 2 | |
| flowey e 14 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey e 14 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - 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::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| shell: bash | |
| - name: run 'unit-tests crypto (none)' 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::publish_test_results 5 | |
| flowey e 14 flowey_lib_common::publish_test_results 6 | |
| flowey e 14 flowey_lib_common::publish_test_results 4 | |
| flowey v 14 '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 14 '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__publish_test_results__7 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-unit-tests-unit-tests crypto (none)-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-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 3 | |
| shell: bash | |
| - name: run 'unit-tests crypto (rust)' 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 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 | |
| flowey v 14 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3 | |
| flowey v 14 'flowey_lib_common::publish_test_results:14: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__11 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-unit-tests-unit-tests crypto (rust)-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (rust) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| shell: bash | |
| - name: run 'unit-tests crypto (openssl)' 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 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 | |
| flowey v 14 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar4 | |
| flowey v 14 'flowey_lib_common::publish_test_results:21: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__15 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml | |
| path: ${{ env.floweyvar4 }} | |
| name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests crypto (all)' 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 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-unit-tests-unit-tests crypto (all)-junit-xml | |
| path: ${{ env.floweyvar5 }} | |
| name: 'publish test results: x64-linux-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 2 | |
| flowey e 14 flowey_lib_common::run_cargo_build 0 | |
| flowey e 14 flowey_lib_hvlite::run_cargo_build 4 | |
| 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 5 | |
| flowey e 14 flowey_lib_hvlite::build_xtask 2 | |
| 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 | |
| flowey v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-unit-tests-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-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 6 | |
| flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| shell: bash | |
| - name: run doctests for x86_64-unknown-linux-gnu | |
| run: flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 14 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 14 flowey_lib_common::cache 7 | |
| shell: bash | |
| job15: | |
| name: clippy [x64-linux-musl, misc nostd], unit tests [x64-linux-musl] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job15-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 15 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string 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 e 15 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey 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: 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 floweyvar11 | |
| 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.floweyvar11 }} | |
| 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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 15 flowey_lib_common::git_checkout 3 | |
| flowey e 15 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey e 15 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 15 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 15 flowey_lib_common::cache 4 | |
| flowey v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 | |
| flowey v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar9 }} | |
| path: ${{ env.floweyvar10 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 15 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey e 15 flowey_lib_common::cache 6 | |
| flowey e 15 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 15 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: flowey e 15 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 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: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 15 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: unpack protoc | |
| run: flowey e 15 flowey_lib_common::resolve_protoc 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 15 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 15 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 15 flowey_lib_common::run_cargo_clippy 3 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 15 flowey_lib_common::run_cargo_clippy 5 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 15 flowey_lib_common::run_cargo_clippy 1 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 15 flowey_lib_common::run_cargo_clippy 7 | |
| shell: bash | |
| - name: cargo clippy | |
| run: |- | |
| flowey e 15 flowey_lib_common::run_cargo_clippy 6 | |
| flowey e 15 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 15 flowey_lib_common::run_cargo_build 0 | |
| flowey e 15 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 15 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 15 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 15 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey e 15 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 15 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 15 flowey_lib_common::run_cargo_clippy 2 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 15 flowey_lib_common::run_cargo_clippy 4 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 15 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 15 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 15 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 15 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 15 flowey_lib_common::cache 0 | |
| flowey v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 | |
| flowey v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar7 }} | |
| path: ${{ env.floweyvar8 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 15 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 15 flowey_lib_common::cache 2 | |
| flowey e 15 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey e 15 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey e 15 flowey_lib_common::install_cargo_nextest 0 | |
| flowey e 15 flowey_lib_hvlite::init_cross_build 3 | |
| flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| shell: bash | |
| - name: run 'unit-tests crypto (none)' nextest tests | |
| run: |- | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 | |
| flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 2 | |
| 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__publish_test_results__7 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-musl-unit-tests-unit-tests crypto (none)-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| 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 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 | |
| shell: bash | |
| - name: run 'unit-tests crypto (rust)' nextest tests | |
| run: |- | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 | |
| flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 | |
| flowey e 15 flowey_lib_common::publish_test_results 8 | |
| flowey e 15 flowey_lib_common::publish_test_results 9 | |
| flowey e 15 flowey_lib_common::publish_test_results 10 | |
| flowey v 15 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3 | |
| flowey v 15 'flowey_lib_common::publish_test_results:14: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__11 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-musl-unit-tests-unit-tests crypto (rust)-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (rust) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| shell: bash | |
| - name: run 'unit-tests crypto (openssl)' nextest tests | |
| run: |- | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 | |
| flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 4 | |
| flowey e 15 flowey_lib_common::publish_test_results 12 | |
| flowey e 15 flowey_lib_common::publish_test_results 13 | |
| flowey e 15 flowey_lib_common::publish_test_results 14 | |
| flowey v 15 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar4 | |
| flowey v 15 'flowey_lib_common::publish_test_results:21: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__15 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml | |
| path: ${{ env.floweyvar4 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 | |
| shell: bash | |
| - name: run 'unit-tests crypto (symcrypt)' nextest tests | |
| run: |- | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 | |
| flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 5 | |
| flowey e 15 flowey_lib_common::publish_test_results 16 | |
| flowey e 15 flowey_lib_common::publish_test_results 17 | |
| flowey e 15 flowey_lib_common::publish_test_results 18 | |
| flowey v 15 '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 15 '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 (symcrypt)-junit-xml | |
| path: ${{ env.floweyvar5 }} | |
| 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 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests crypto (all)' nextest tests | |
| run: |- | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 6 | |
| flowey e 15 flowey_lib_common::publish_test_results 20 | |
| flowey e 15 flowey_lib_common::publish_test_results 21 | |
| flowey e 15 flowey_lib_common::publish_test_results 22 | |
| flowey v 15 'flowey_lib_common::publish_test_results:39:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:35:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar6 | |
| flowey v 15 'flowey_lib_common::publish_test_results:35: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__23 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml | |
| path: ${{ env.floweyvar6 }} | |
| 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 15 flowey_lib_hvlite::init_cross_build 1 | |
| flowey e 15 flowey_lib_common::run_cargo_build 1 | |
| flowey e 15 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 15 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 15 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 | |
| flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 | |
| flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 | |
| flowey e 15 flowey_lib_common::publish_test_results 0 | |
| flowey e 15 flowey_lib_common::publish_test_results 1 | |
| flowey e 15 flowey_lib_common::publish_test_results 2 | |
| flowey v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-musl-unit-tests-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| 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 15 flowey_lib_hvlite::build_nextest_unit_tests 7 | |
| flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| shell: bash | |
| - name: run doctests for x86_64-unknown-linux-musl | |
| run: flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 15 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 15 flowey_lib_common::cache 7 | |
| shell: bash | |
| job16: | |
| name: clippy [aarch64-windows], unit tests [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-arm-westus2 | |
| - 1ES.ImageOverride=win-arm64 | |
| - JobId=job16-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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-ci.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-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 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 floweyvar8 | |
| 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.floweyvar8 }} | |
| 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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 16 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 16 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 16 flowey_lib_common::cache 4 | |
| flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 16 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 16 flowey_lib_common::cache 6 | |
| flowey.exe e 16 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 16 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 16 flowey_lib_hvlite::init_cross_build 0 | |
| flowey.exe e 16 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 16 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 16 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 16 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey.exe e 16 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey.exe e 16 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey.exe e 16 flowey_lib_common::run_cargo_clippy 1 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey.exe e 16 flowey_lib_common::run_cargo_clippy 2 | |
| 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 | |
| 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 | |
| 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 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 16 flowey_lib_common::cache 2 | |
| flowey.exe e 16 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 16 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey.exe e 16 flowey_lib_common::install_cargo_nextest 0 | |
| flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 | |
| flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| shell: bash | |
| - name: run 'unit-tests crypto (rust)' nextest tests | |
| run: |- | |
| flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 2 | |
| flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 3 | |
| flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 5 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 6 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 4 | |
| flowey.exe v 16 '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.exe v 16 '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__publish_test_results__7 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-unit-tests-unit-tests crypto (rust)-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-windows-unit-tests-unit-tests crypto (rust) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 | |
| flowey.exe e 16 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 16 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 16 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 | |
| flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 | |
| flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 8 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 9 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 10 | |
| flowey.exe v 16 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3 | |
| flowey.exe v 16 'flowey_lib_common::publish_test_results:14: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__11 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-unit-tests-unit-tests-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: aarch64-windows-unit-tests-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests crypto (none)' nextest tests | |
| run: |- | |
| flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 16 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-unit-tests-unit-tests crypto (none)-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-windows-unit-tests-unit-tests crypto (none) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: |- | |
| flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 | |
| flowey.exe e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| shell: bash | |
| - name: run doctests for aarch64-pc-windows-msvc | |
| run: flowey.exe e 16 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 16 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 16 flowey_lib_common::cache 7 | |
| shell: bash | |
| job17: | |
| name: clippy [aarch64-linux], unit tests [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-arm-westus2 | |
| - 1ES.ImageOverride=ubuntu2404-arm64 | |
| - JobId=job17-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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: 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 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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 17 flowey_lib_common::git_checkout 3 | |
| flowey e 17 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 17 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 17 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 17 flowey_lib_common::cache 4 | |
| flowey v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 17 '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.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 17 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey e 17 flowey_lib_common::cache 6 | |
| flowey e 17 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 17 flowey_lib_common::resolve_protoc 0 | |
| flowey e 17 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 17 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 17 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: |- | |
| flowey e 17 flowey_lib_common::run_cargo_clippy 1 | |
| flowey e 17 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 17 flowey_lib_common::run_cargo_build 0 | |
| flowey e 17 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 17 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 17 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 17 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey e 17 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 17 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 17 flowey_lib_common::run_cargo_clippy 2 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 17 flowey_lib_common::run_cargo_clippy 4 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 17 flowey_lib_common::run_cargo_clippy 3 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 17 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 17 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 17 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 17 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 17 flowey_lib_common::cache 0 | |
| flowey v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey v 17 '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.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 17 flowey_lib_common::cache 2 | |
| flowey e 17 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey e 17 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey e 17 flowey_lib_common::install_cargo_nextest 0 | |
| flowey e 17 flowey_lib_hvlite::init_cross_build 1 | |
| flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| shell: bash | |
| - name: run 'unit-tests crypto (none)' nextest tests | |
| run: |- | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 2 | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 3 | |
| flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 2 | |
| flowey e 17 flowey_lib_common::publish_test_results 5 | |
| flowey e 17 flowey_lib_common::publish_test_results 6 | |
| flowey e 17 flowey_lib_common::publish_test_results 4 | |
| flowey v 17 '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 17 '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__publish_test_results__7 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-unit-tests-unit-tests crypto (none)-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (none) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 3 | |
| shell: bash | |
| - name: run 'unit-tests crypto (rust)' nextest tests | |
| run: |- | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 6 | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 7 | |
| flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 3 | |
| flowey e 17 flowey_lib_common::publish_test_results 8 | |
| flowey e 17 flowey_lib_common::publish_test_results 9 | |
| flowey e 17 flowey_lib_common::publish_test_results 10 | |
| flowey v 17 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3 | |
| flowey v 17 'flowey_lib_common::publish_test_results:14: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__11 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-unit-tests-unit-tests crypto (rust)-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (rust) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| shell: bash | |
| - name: run 'unit-tests crypto (openssl)' nextest tests | |
| run: |- | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 4 | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 5 | |
| flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 4 | |
| flowey e 17 flowey_lib_common::publish_test_results 12 | |
| flowey e 17 flowey_lib_common::publish_test_results 13 | |
| flowey e 17 flowey_lib_common::publish_test_results 14 | |
| flowey v 17 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar4 | |
| flowey v 17 'flowey_lib_common::publish_test_results:21: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__15 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml | |
| path: ${{ env.floweyvar4 }} | |
| 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 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests crypto (all)' nextest tests | |
| run: |- | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 5 | |
| flowey e 17 flowey_lib_common::publish_test_results 16 | |
| flowey e 17 flowey_lib_common::publish_test_results 17 | |
| flowey e 17 flowey_lib_common::publish_test_results 18 | |
| flowey v 17 '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 17 '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: aarch64-linux-unit-tests-unit-tests crypto (all)-junit-xml | |
| path: ${{ env.floweyvar5 }} | |
| 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 17 flowey_lib_hvlite::init_cross_build 3 | |
| flowey e 17 flowey_lib_common::run_cargo_build 1 | |
| flowey e 17 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 17 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 17 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 17 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 4 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 8 | |
| flowey e 17 flowey_lib_common::run_cargo_nextest_run 9 | |
| flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 | |
| flowey e 17 flowey_lib_common::publish_test_results 0 | |
| flowey e 17 flowey_lib_common::publish_test_results 1 | |
| flowey e 17 flowey_lib_common::publish_test_results 2 | |
| flowey v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-unit-tests-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-linux-unit-tests-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: |- | |
| flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 6 | |
| flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| shell: bash | |
| - name: run doctests for aarch64-unknown-linux-gnu | |
| run: flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 17 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 17 flowey_lib_common::cache 7 | |
| shell: bash | |
| job18: | |
| name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-arm-westus2 | |
| - 1ES.ImageOverride=ubuntu2404-arm64 | |
| - JobId=job18-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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: 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 floweyvar11 | |
| 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.floweyvar11 }} | |
| 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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 18 flowey_lib_common::git_checkout 3 | |
| flowey e 18 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey e 18 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 18 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 18 flowey_lib_common::cache 4 | |
| flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9 | |
| flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar9 }} | |
| path: ${{ env.floweyvar10 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 18 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey e 18 flowey_lib_common::cache 6 | |
| flowey e 18 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 18 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: flowey e 18 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 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: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 18 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: unpack protoc | |
| run: flowey e 18 flowey_lib_common::resolve_protoc 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 18 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 18 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 3 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 5 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 1 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 7 | |
| shell: bash | |
| - name: cargo clippy | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_clippy 6 | |
| flowey e 18 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_build 0 | |
| flowey e 18 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 18 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 18 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 18 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey e 18 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 2 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 4 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 18 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 18 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 18 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 18 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 18 flowey_lib_common::cache 0 | |
| flowey v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7 | |
| flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar7 }} | |
| path: ${{ env.floweyvar8 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 18 flowey_lib_common::cache 2 | |
| flowey e 18 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey e 18 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey e 18 flowey_lib_common::install_cargo_nextest 0 | |
| flowey e 18 flowey_lib_hvlite::init_cross_build 3 | |
| flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| shell: bash | |
| - name: run 'unit-tests crypto (none)' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 | |
| flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 2 | |
| flowey e 18 flowey_lib_common::publish_test_results 5 | |
| flowey e 18 flowey_lib_common::publish_test_results 6 | |
| flowey e 18 flowey_lib_common::publish_test_results 4 | |
| flowey v 18 '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 18 '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__publish_test_results__7 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-musl-unit-tests-unit-tests crypto (none)-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (none) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 | |
| shell: bash | |
| - name: run 'unit-tests crypto (rust)' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 | |
| flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 3 | |
| flowey e 18 flowey_lib_common::publish_test_results 8 | |
| flowey e 18 flowey_lib_common::publish_test_results 9 | |
| flowey e 18 flowey_lib_common::publish_test_results 10 | |
| flowey v 18 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3 | |
| flowey v 18 'flowey_lib_common::publish_test_results:14: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__11 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-musl-unit-tests-unit-tests crypto (rust)-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (rust) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| shell: bash | |
| - name: run 'unit-tests crypto (openssl)' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 | |
| flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 4 | |
| flowey e 18 flowey_lib_common::publish_test_results 12 | |
| flowey e 18 flowey_lib_common::publish_test_results 13 | |
| flowey e 18 flowey_lib_common::publish_test_results 14 | |
| flowey v 18 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar4 | |
| flowey v 18 'flowey_lib_common::publish_test_results:21: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__15 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml | |
| path: ${{ env.floweyvar4 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 | |
| shell: bash | |
| - name: run 'unit-tests crypto (symcrypt)' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 | |
| flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 5 | |
| flowey e 18 flowey_lib_common::publish_test_results 16 | |
| flowey e 18 flowey_lib_common::publish_test_results 17 | |
| flowey e 18 flowey_lib_common::publish_test_results 18 | |
| flowey v 18 '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 18 '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: aarch64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml | |
| path: ${{ env.floweyvar5 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests crypto (all)' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 6 | |
| flowey e 18 flowey_lib_common::publish_test_results 20 | |
| flowey e 18 flowey_lib_common::publish_test_results 21 | |
| flowey e 18 flowey_lib_common::publish_test_results 22 | |
| flowey v 18 'flowey_lib_common::publish_test_results:39:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:35:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar6 | |
| flowey v 18 'flowey_lib_common::publish_test_results:35: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__23 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml | |
| path: ${{ env.floweyvar6 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 18 flowey_lib_hvlite::init_cross_build 1 | |
| flowey e 18 flowey_lib_common::run_cargo_build 1 | |
| flowey e 18 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 18 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 18 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 | |
| flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 | |
| flowey e 18 flowey_lib_common::publish_test_results 0 | |
| flowey e 18 flowey_lib_common::publish_test_results 1 | |
| flowey e 18 flowey_lib_common::publish_test_results 2 | |
| flowey v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-musl-unit-tests-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: |- | |
| flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 7 | |
| flowey e 18 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| shell: bash | |
| - name: run doctests for aarch64-unknown-linux-musl | |
| run: flowey e 18 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 18 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 18 flowey_lib_common::cache 7 | |
| shell: bash | |
| job19: | |
| name: run vmm-tests [x64-windows-intel] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job19-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| 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 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 19 flowey_lib_common::cache 2 | |
| flowey.exe e 19 flowey_lib_common::download_cargo_nextest 4 | |
| 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 | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar3 }} | |
| 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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 19 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 19 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey.exe e 19 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 5 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 6 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 1 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 0 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 9 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 4 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 11 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 10 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 8 | |
| shell: bash | |
| - name: creating new test content dir | |
| run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: resolve OpenHCL igvm artifact | |
| run: flowey.exe e 19 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 19 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 19 flowey_lib_common::cache 8 | |
| flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
| shell: bash | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 19 flowey_lib_common::cache 10 | |
| flowey.exe e 19 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 19 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 19 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey.exe e 19 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey.exe e 19 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey.exe e 19 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 19 flowey_lib_common::cache 4 | |
| flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 19 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 19 flowey_lib_common::cache 6 | |
| flowey.exe e 19 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 19 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: flowey.exe e 19 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey.exe e 19 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: |- | |
| flowey.exe e 19 flowey_lib_common::download_gh_artifact 0 | |
| flowey.exe e 19 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 19 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 19 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 19 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: |- | |
| flowey.exe e 19 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| flowey.exe e 19 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 12 | |
| flowey.exe e 19 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 19 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 19 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 19 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 19 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey.exe e 19 flowey_lib_common::publish_test_results 4 | |
| flowey.exe e 19 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 19 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
| flowey.exe v 19 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-intel-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-intel-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| flowey.exe e 19 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 19 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 19 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-intel-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 19 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 19 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 19 flowey_lib_common::cache 11 | |
| shell: bash | |
| job2: | |
| name: build artifacts (shared VMM tests) [windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job2-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 2 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 2 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 2 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 2 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 2 flowey_lib_common::cache 0 | |
| flowey.exe v 2 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 2 '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-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 2 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 2 flowey_lib_common::cache 2 | |
| flowey.exe e 2 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 2 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 2 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 2 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 2 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build pipette | |
| 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_pipette 0 | |
| flowey.exe e 2 flowey_core::pipeline::artifact::publish 0 | |
| flowey.exe e 2 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build pipette | |
| run: |- | |
| flowey.exe e 2 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 2 flowey_lib_hvlite::build_pipette 1 | |
| flowey.exe e 2 flowey_core::pipeline::artifact::publish 1 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 2 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: πΌπ¦ Publish aarch64-windows-pipette | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-pipette | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-pipette | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-pipette | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ | |
| include-hidden-files: true | |
| job20: | |
| name: run vmm-tests [x64-windows-intel-mi-secure] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job20-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job12 | |
| - 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-mi-secure-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 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-mi-secure-openhcl-igvm" | flowey.exe v 20 'artifact_use_from_x64-mi-secure-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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 20 flowey_lib_common::cache 2 | |
| flowey.exe e 20 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs: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 20 '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 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 20 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 20 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 20 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey.exe e 20 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 5 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 6 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 1 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 0 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 9 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 4 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 11 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 10 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 8 | |
| shell: bash | |
| - name: creating new test content dir | |
| run: flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: resolve OpenHCL igvm artifact | |
| run: flowey.exe e 20 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 20 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::cache 8 | |
| flowey.exe v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
| shell: bash | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 20 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 20 flowey_lib_common::cache 10 | |
| flowey.exe e 20 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 20 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey.exe e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey.exe e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey.exe e 20 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::cache 4 | |
| flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 20 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 20 flowey_lib_common::cache 6 | |
| flowey.exe e 20 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 20 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: flowey.exe e 20 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey.exe e 20 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::download_gh_artifact 0 | |
| flowey.exe e 20 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 20 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 20 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 20 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: |- | |
| flowey.exe e 20 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| flowey.exe e 20 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey.exe e 20 flowey_core::pipeline::artifact::resolve 12 | |
| flowey.exe e 20 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 20 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 20 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 20 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey.exe e 20 flowey_lib_common::publish_test_results 4 | |
| flowey.exe e 20 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-intel-mi-secure-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| flowey.exe e 20 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 20 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 20 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-intel-mi-secure-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 20 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 20 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 20 flowey_lib_common::cache 11 | |
| shell: bash | |
| job21: | |
| name: run vmm-tests [x64-windows-intel-tdx] | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - X64 | |
| - TDX | |
| - 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 21 flowey_lib_common::cache 2 | |
| flowey.exe e 21 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 21 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs: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 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.floweyvar3 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 21 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 21 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 21 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey.exe e 21 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 5 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 6 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 1 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 0 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 9 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 4 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 11 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 10 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 8 | |
| shell: bash | |
| - name: creating new test content dir | |
| run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: resolve OpenHCL igvm artifact | |
| run: flowey.exe e 21 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 21 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 21 flowey_lib_common::cache 8 | |
| flowey.exe v 21 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 21 '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 21 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 21 flowey_lib_common::cache 10 | |
| flowey.exe e 21 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 21 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey.exe e 21 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 21 flowey_lib_common::cache 4 | |
| flowey.exe v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 21 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 21 flowey_lib_common::cache 6 | |
| flowey.exe e 21 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 21 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: flowey.exe e 21 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey.exe e 21 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: |- | |
| flowey.exe e 21 flowey_lib_common::download_gh_artifact 0 | |
| flowey.exe e 21 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 21 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: |- | |
| flowey.exe e 21 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| flowey.exe e 21 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 12 | |
| flowey.exe e 21 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 21 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 21 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: starting test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 21 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 21 flowey_core::pipeline::artifact::resolve 7 | |
| shell: bash | |
| - name: running vmm_test prep_steps | |
| run: flowey.exe e 21 flowey_lib_hvlite::run_prep_steps 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 21 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey.exe e 21 flowey_lib_common::publish_test_results 4 | |
| flowey.exe e 21 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 21 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
| flowey.exe v 21 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-intel-tdx-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| flowey.exe e 21 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 21 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 21 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 21 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 21 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-intel-tdx-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 21 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 21 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 21 flowey_lib_common::cache 11 | |
| shell: bash | |
| job22: | |
| name: run vmm-tests [x64-windows-amd] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job22-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| 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 22 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 22 '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 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 22 flowey_lib_common::cache 0 | |
| flowey.exe v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs: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 | |
| - 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 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 22 flowey_lib_common::cache 2 | |
| flowey.exe e 22 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 22 flowey_lib_common::git_checkout 0 | |
| flowey.exe 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.exe 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.floweyvar3 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 22 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 22 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 22 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey.exe e 22 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 11 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 10 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 8 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 5 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 6 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 1 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 0 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 9 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 4 | |
| shell: bash | |
| - name: creating new test content dir | |
| run: flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: resolve OpenHCL igvm artifact | |
| run: flowey.exe e 22 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 22 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 22 flowey_lib_common::cache 8 | |
| flowey.exe v 22 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe 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 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 22 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 22 flowey_lib_common::cache 10 | |
| flowey.exe e 22 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 22 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey.exe e 22 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 22 flowey_lib_common::cache 4 | |
| flowey.exe v 22 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 22 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 22 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 22 flowey_lib_common::cache 6 | |
| flowey.exe e 22 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 22 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: flowey.exe e 22 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey.exe e 22 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: |- | |
| flowey.exe e 22 flowey_lib_common::download_gh_artifact 0 | |
| flowey.exe e 22 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 22 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 22 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 22 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: |- | |
| flowey.exe e 22 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| flowey.exe e 22 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey.exe e 22 flowey_core::pipeline::artifact::resolve 12 | |
| flowey.exe e 22 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 22 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 22 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 22 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey.exe e 22 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 22 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 22 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey.exe e 22 flowey_lib_common::publish_test_results 4 | |
| flowey.exe e 22 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 22 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
| flowey.exe v 22 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-amd-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-amd-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| flowey.exe e 22 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 22 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 22 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 22 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 22 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-amd-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 22 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 22 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 22 flowey_lib_common::cache 11 | |
| shell: bash | |
| job23: | |
| 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 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 23 flowey_lib_common::cache 2 | |
| flowey.exe e 23 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 23 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 23 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs: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 23 '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 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 23 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 23 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 23 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey.exe e 23 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 5 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 6 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 1 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 0 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 9 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 4 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 11 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 10 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 8 | |
| shell: bash | |
| - name: creating new test content dir | |
| run: flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: resolve OpenHCL igvm artifact | |
| run: flowey.exe e 23 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 23 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 23 flowey_lib_common::cache 8 | |
| flowey.exe v 23 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 23 '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 23 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 23 flowey_lib_common::cache 10 | |
| flowey.exe e 23 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 23 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey.exe e 23 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 23 flowey_lib_common::cache 4 | |
| flowey.exe v 23 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 23 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 23 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 23 flowey_lib_common::cache 6 | |
| flowey.exe e 23 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 23 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: flowey.exe e 23 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey.exe e 23 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: |- | |
| flowey.exe e 23 flowey_lib_common::download_gh_artifact 0 | |
| flowey.exe e 23 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 23 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 23 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 23 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: |- | |
| flowey.exe e 23 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| flowey.exe e 23 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 12 | |
| flowey.exe e 23 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 23 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 23 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: starting test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 23 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 7 | |
| shell: bash | |
| - name: running vmm_test prep_steps | |
| run: flowey.exe e 23 flowey_lib_hvlite::run_prep_steps 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey.exe e 23 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 23 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 23 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey.exe e 23 flowey_lib_common::publish_test_results 4 | |
| flowey.exe e 23 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 23 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
| flowey.exe v 23 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-amd-snp-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| flowey.exe e 23 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 23 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 23 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 23 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 23 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-amd-snp-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 23 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 23 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 23 flowey_lib_common::cache 11 | |
| shell: bash | |
| job24: | |
| name: run vmm-tests [x64-linux-amd-kvm] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job24-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job2 | |
| - job3 | |
| - job9 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-11,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-openvmm,x64-linux-openvmm_vhost,x64-linux-vmm-tests-archive,x64-tmks,x64-windows-pipette}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - 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 | |
| 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 24 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 24 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 24 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 24 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 24 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 24 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 24 'artifact_use_from_x64-linux-openvmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm_vhost" | flowey v 24 'artifact_use_from_x64-linux-openvmm_vhost' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 24 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 24 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 24 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| shell: bash | |
| - name: creating new test content dir | |
| run: |- | |
| flowey e 24 flowey_core::pipeline::artifact::resolve 3 | |
| flowey e 24 flowey_core::pipeline::artifact::resolve 4 | |
| flowey e 24 flowey_core::pipeline::artifact::resolve 7 | |
| flowey e 24 flowey_core::pipeline::artifact::resolve 1 | |
| flowey e 24 flowey_core::pipeline::artifact::resolve 0 | |
| flowey e 24 flowey_core::pipeline::artifact::resolve 2 | |
| flowey e 24 flowey_core::pipeline::artifact::resolve 6 | |
| flowey e 24 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 24 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 24 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 24 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 24 flowey_lib_common::cache 8 | |
| flowey v 24 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 24 '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 v 24 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey e 24 flowey_lib_common::cache 10 | |
| flowey e 24 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey e 24 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey e 24 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 24 flowey_lib_common::cache 4 | |
| flowey v 24 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey v 24 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey v 24 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey e 24 flowey_lib_common::cache 6 | |
| flowey e 24 flowey_lib_common::download_gh_cli 1 | |
| flowey v 24 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: flowey e 24 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey e 24 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: |- | |
| flowey e 24 flowey_lib_common::download_gh_artifact 0 | |
| flowey e 24 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey e 24 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 24 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 24 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: flowey e 24 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| shell: bash | |
| - name: ensure hypervisor device is accessible | |
| run: flowey e 24 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: ensure 2 MiB hugetlb pages are available | |
| run: flowey e 24 flowey_lib_hvlite::test_nextest_vmm_tests_archive 2 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 24 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 24 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 24 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 24 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 24 flowey_lib_common::cache 0 | |
| flowey v 24 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 24 '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 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 24 flowey_lib_common::cache 2 | |
| flowey e 24 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 24 flowey_lib_common::git_checkout 0 | |
| flowey v 24 '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 24 '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 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 24 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 24 flowey_lib_common::git_checkout 3 | |
| flowey e 24 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey e 24 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey e 24 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| flowey e 24 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey e 24 flowey_core::pipeline::artifact::resolve 5 | |
| flowey e 24 flowey_lib_hvlite::test_nextest_vmm_tests_archive 3 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 24 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (linux) | |
| run: flowey e 24 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey e 24 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey e 24 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| flowey e 24 flowey_lib_common::publish_test_results 4 | |
| flowey e 24 flowey_lib_common::publish_test_results 5 | |
| flowey v 24 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
| flowey v 24 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-amd-kvm-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-amd-kvm-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey e 24 flowey_lib_common::publish_test_results 0 | |
| flowey e 24 flowey_lib_common::publish_test_results 1 | |
| flowey e 24 flowey_lib_common::publish_test_results 2 | |
| flowey v 24 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey v 24 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-amd-kvm-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-amd-kvm-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 24 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey e 24 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 24 flowey_lib_common::cache 11 | |
| shell: bash | |
| job25: | |
| name: run vmm-tests [x64-linux-intel-mshv] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3 | |
| - 1ES.ImageOverride=azurelinux3-amd64-dom0 | |
| - JobId=job25-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job2 | |
| - job3 | |
| - job9 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| sudo tdnf install -y gcc glibc-devel | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: '{x64-guest_test_uefi,x64-linux-musl-openvmm,x64-linux-musl-openvmm_vhost,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-musl-vmm-tests-archive,x64-tmks,x64-windows-pipette}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-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 25 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 25 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 25 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 25 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 25 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 25 'artifact_use_from_x64-linux-musl-openvmm_vhost' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 25 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 25 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 25 'artifact_use_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 25 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 25 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| shell: bash | |
| - name: creating new test content dir | |
| run: |- | |
| flowey e 25 flowey_core::pipeline::artifact::resolve 1 | |
| flowey e 25 flowey_core::pipeline::artifact::resolve 2 | |
| flowey e 25 flowey_core::pipeline::artifact::resolve 7 | |
| flowey e 25 flowey_core::pipeline::artifact::resolve 3 | |
| flowey e 25 flowey_core::pipeline::artifact::resolve 0 | |
| flowey e 25 flowey_core::pipeline::artifact::resolve 4 | |
| flowey e 25 flowey_core::pipeline::artifact::resolve 6 | |
| flowey e 25 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 25 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 25 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 25 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 25 flowey_lib_common::cache 8 | |
| flowey v 25 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 25 '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 v 25 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey e 25 flowey_lib_common::cache 10 | |
| flowey e 25 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey e 25 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey e 25 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 25 flowey_lib_common::cache 4 | |
| flowey v 25 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey v 25 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey v 25 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey e 25 flowey_lib_common::cache 6 | |
| flowey e 25 flowey_lib_common::download_gh_cli 1 | |
| flowey v 25 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: flowey e 25 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey e 25 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: |- | |
| flowey e 25 flowey_lib_common::download_gh_artifact 0 | |
| flowey e 25 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey e 25 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 25 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 25 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: flowey e 25 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| shell: bash | |
| - name: ensure hypervisor device is accessible | |
| run: flowey e 25 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 25 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 25 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 25 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 25 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| 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 floweyvar4 | |
| flowey v 25 '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 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 25 flowey_lib_common::cache 2 | |
| flowey e 25 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 25 flowey_lib_common::git_checkout 0 | |
| flowey v 25 '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 25 '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 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 25 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 25 flowey_lib_common::git_checkout 3 | |
| flowey e 25 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey e 25 flowey_core::pipeline::artifact::resolve 5 | |
| flowey e 25 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 25 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (linux) | |
| run: flowey e 25 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey e 25 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey e 25 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| flowey e 25 flowey_lib_common::publish_test_results 4 | |
| flowey e 25 flowey_lib_common::publish_test_results 5 | |
| flowey v 25 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
| flowey v 25 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-intel-mshv-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-intel-mshv-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey e 25 flowey_lib_common::publish_test_results 0 | |
| flowey e 25 flowey_lib_common::publish_test_results 1 | |
| flowey e 25 flowey_lib_common::publish_test_results 2 | |
| flowey v 25 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey v 25 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-intel-mshv-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-intel-mshv-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 25 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey e 25 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 25 flowey_lib_common::cache 11 | |
| shell: bash | |
| job26: | |
| name: run vmm-tests [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - ARM64 | |
| - Baremetal | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job10 | |
| - job2 | |
| - job3 | |
| - job5 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: '{aarch64-guest_test_uefi,aarch64-linux-musl-pipette,aarch64-linux-musl-tmk_vmm,aarch64-openhcl-igvm,aarch64-tmks,aarch64-windows-openvmm,aarch64-windows-pipette,aarch64-windows-tmk_vmm,aarch64-windows-vmgstool,aarch64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey.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 26 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 26 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 26 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 26 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 26 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 26 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-openhcl-igvm" | flowey.exe v 26 'artifact_use_from_aarch64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-tmks" | flowey.exe v 26 'artifact_use_from_aarch64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-openvmm" | flowey.exe v 26 'artifact_use_from_aarch64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-pipette" | flowey.exe v 26 'artifact_use_from_aarch64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 26 'artifact_use_from_aarch64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 26 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 26 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 26 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::cache 0 | |
| flowey.exe v 26 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 26 '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 26 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_common::cache 2 | |
| flowey.exe e 26 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 26 '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 26 '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 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 26 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 26 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey.exe e 26 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 4 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 5 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 1 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 0 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 6 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 7 | |
| shell: bash | |
| - name: creating new test content dir | |
| run: flowey.exe e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: resolve OpenHCL igvm artifact | |
| run: flowey.exe e 26 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 26 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::cache 8 | |
| flowey.exe v 26 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 26 '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 26 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_common::cache 10 | |
| flowey.exe e 26 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 26 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey.exe e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey.exe e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey.exe e 26 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::cache 4 | |
| flowey.exe v 26 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 26 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 26 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_common::cache 6 | |
| flowey.exe e 26 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 26 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: flowey.exe e 26 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey.exe e 26 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::download_gh_artifact 0 | |
| flowey.exe e 26 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 26 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| shell: bash | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 26 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (aarch64) | |
| run: flowey.exe e 26 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: |- | |
| flowey.exe e 26 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| flowey.exe e 26 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 8 | |
| flowey.exe e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 26 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 26 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 26 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 26 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 26 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey.exe e 26 flowey_lib_common::publish_test_results 4 | |
| flowey.exe e 26 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 26 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
| flowey.exe v 26 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-windows-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| flowey.exe e 26 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 26 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 26 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 26 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 26 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 26 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 26 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 26 flowey_lib_common::cache 11 | |
| shell: bash | |
| job27: | |
| name: test flowey local backend | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 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 openvmm needs to be cloned | |
| run: |- | |
| 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 | |
| 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 27 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 27 flowey_lib_common::git_checkout 3 | |
| flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 27 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 27 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 27 flowey_lib_common::install_rust 2 | |
| flowey v 27 'flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm:3:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: test cargo xflowey build-igvm x64 --install-missing-deps | |
| run: flowey e 27 flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm 1 | |
| shell: bash | |
| job28: | |
| name: publish vmgstool | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| 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 | |
| - job3 | |
| - job4 | |
| - job5 | |
| - job6 | |
| - job7 | |
| - job8 | |
| - job9 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-11,aarch64-linux-vmgstool,aarch64-windows-vmgstool,x64-linux-vmgstool,x64-windows-vmgstool}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - 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 | |
| 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 28 flowey_lib_common::cache 2 | |
| flowey e 28 flowey_lib_common::download_gh_cli 1 | |
| flowey v 28 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| shell: bash | |
| - name: setup gh cli | |
| run: |- | |
| flowey e 28 flowey_lib_common::use_gh_cli 0 | |
| flowey e 28 flowey_core::pipeline::artifact::resolve 1 | |
| flowey e 28 flowey_core::pipeline::artifact::resolve 0 | |
| flowey e 28 flowey_core::pipeline::artifact::resolve 3 | |
| flowey e 28 flowey_core::pipeline::artifact::resolve 2 | |
| shell: bash | |
| - name: enumerate vmgstool release files | |
| run: flowey e 28 flowey_lib_hvlite::_jobs::publish_vmgstool_gh_release 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 28 flowey_lib_common::git_checkout 0 | |
| flowey v 28 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs: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 28 '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 28 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 28 flowey_lib_common::git_checkout 3 | |
| flowey e 28 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: get current commit | |
| run: |- | |
| flowey e 28 flowey_lib_hvlite::_jobs::publish_vmgstool_gh_release 5 | |
| flowey e 28 flowey_lib_hvlite::_jobs::publish_vmgstool_gh_release 1 | |
| shell: bash | |
| - name: get cargo crate version | |
| run: |- | |
| flowey e 28 flowey_lib_common::get_cargo_crate_version 0 | |
| flowey e 28 flowey_lib_hvlite::_jobs::publish_vmgstool_gh_release 2 | |
| flowey e 28 flowey_lib_hvlite::_jobs::publish_vmgstool_gh_release 3 | |
| flowey e 28 flowey_lib_hvlite::_jobs::publish_vmgstool_gh_release 4 | |
| shell: bash | |
| - name: publish github releases | |
| run: flowey e 28 flowey_lib_common::publish_gh_release 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey e 28 flowey_lib_common::cache 3 | |
| shell: bash | |
| job3: | |
| name: build artifacts (shared VMM tests) [linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job3-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 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 <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 3 flowey_lib_common::git_checkout 3 | |
| flowey e 3 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 3 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 3 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 3 flowey_lib_common::cache 0 | |
| flowey v 3 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 3 '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-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 3 flowey_lib_common::cache 2 | |
| flowey e 3 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 3 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 3 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 3 flowey_lib_common::resolve_protoc 0 | |
| flowey e 3 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 3 flowey_lib_hvlite::init_cross_build 9 | |
| shell: bash | |
| - name: cargo build guest_test_uefi | |
| run: |- | |
| flowey e 3 flowey_lib_common::run_cargo_build 1 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 1 | |
| shell: bash | |
| - name: build guest_test_uefi.img | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::build_guest_test_uefi 0 | |
| flowey e 3 flowey_core::pipeline::artifact::publish 7 | |
| flowey e 3 flowey_lib_hvlite::init_cross_build 5 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 10 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 11 | |
| shell: bash | |
| - 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: unpack openvmm-deps archive | |
| run: flowey e 3 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - 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: cargo build pipette | |
| run: |- | |
| flowey e 3 flowey_lib_common::run_cargo_build 3 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 4 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 5 | |
| flowey e 3 flowey_lib_hvlite::build_pipette 1 | |
| flowey e 3 flowey_core::pipeline::artifact::publish 0 | |
| flowey e 3 flowey_lib_hvlite::init_cross_build 8 | |
| shell: bash | |
| - name: cargo build tmk_vmm | |
| run: |- | |
| flowey e 3 flowey_lib_common::run_cargo_build 7 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 16 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::run_split_debug_info 6 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 17 | |
| flowey e 3 flowey_lib_hvlite::build_tmk_vmm 1 | |
| flowey e 3 flowey_core::pipeline::artifact::publish 1 | |
| flowey e 3 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build guest_test_uefi | |
| run: |- | |
| flowey e 3 flowey_lib_common::run_cargo_build 0 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: build guest_test_uefi.img | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::build_guest_test_uefi 1 | |
| flowey e 3 flowey_core::pipeline::artifact::publish 2 | |
| flowey e 3 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 7 | |
| shell: bash | |
| - name: cargo build simple_tmk | |
| run: |- | |
| flowey e 3 flowey_lib_common::run_cargo_build 5 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 8 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 9 | |
| flowey e 3 flowey_lib_hvlite::build_tmks 1 | |
| flowey e 3 flowey_core::pipeline::artifact::publish 3 | |
| flowey e 3 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build tpm_guest_tests | |
| run: |- | |
| flowey e 3 flowey_lib_common::run_cargo_build 8 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 18 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::run_split_debug_info 3 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 19 | |
| flowey e 3 flowey_lib_hvlite::build_tpm_guest_tests 0 | |
| flowey e 3 flowey_core::pipeline::artifact::publish 4 | |
| shell: bash | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 1 | |
| flowey e 3 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build pipette | |
| run: |- | |
| flowey e 3 flowey_lib_common::run_cargo_build 2 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 3 flowey_lib_hvlite::build_pipette 0 | |
| flowey e 3 flowey_core::pipeline::artifact::publish 5 | |
| flowey e 3 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build tmk_vmm | |
| run: |- | |
| flowey e 3 flowey_lib_common::run_cargo_build 6 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 14 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 3 flowey_lib_hvlite::run_split_debug_info 2 | |
| flowey e 3 flowey_lib_hvlite::run_cargo_build 15 | |
| flowey e 3 flowey_lib_hvlite::build_tmk_vmm 0 | |
| flowey e 3 flowey_core::pipeline::artifact::publish 6 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 3 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: πΌπ¦ Publish aarch64-guest_test_uefi | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-guest_test_uefi | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-musl-pipette | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-musl-pipette | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-pipette/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-musl-tmk_vmm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-musl-tmk_vmm | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-tpm_guest_tests | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-tpm_guest_tests | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-tpm_guest_tests/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-tmks | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-tmks | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-guest_test_uefi | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-guest_test_uefi | |
| path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-musl-pipette | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-musl-pipette | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-pipette/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-musl-tmk_vmm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-musl-tmk_vmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-tpm_guest_tests | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-tpm_guest_tests | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-tpm_guest_tests/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-tmks | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-tmks | |
| path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ | |
| include-hidden-files: true | |
| job4: | |
| name: build artifacts (not for VMM tests) [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job4-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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 4 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 4 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 4 '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 4 '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 4 '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 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 4 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 4 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey.exe e 4 flowey_lib_common::install_rust 2 | |
| flowey.exe e 4 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 4 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 4 '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 4 '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 4 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 4 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 4 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 4 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 4 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 4 flowey_lib_common::cache 0 | |
| flowey.exe v 4 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 4 '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-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 4 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 4 flowey_lib_common::cache 2 | |
| flowey.exe e 4 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 4 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 4 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build hypestv | |
| run: |- | |
| flowey.exe e 4 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 4 flowey_lib_hvlite::build_hypestv 0 | |
| flowey.exe e 4 flowey_core::pipeline::artifact::publish 0 | |
| flowey.exe e 4 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build vmgs_lib | |
| run: |- | |
| flowey.exe e 4 flowey_lib_common::run_cargo_build 3 | |
| flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
| flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
| flowey.exe e 4 flowey_core::pipeline::artifact::publish 1 | |
| flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey.exe e 4 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0 | |
| flowey.exe e 4 flowey_core::pipeline::artifact::publish 2 | |
| flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build ohcldiag-dev | |
| run: |- | |
| flowey.exe e 4 flowey_lib_common::run_cargo_build 2 | |
| flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
| flowey.exe e 4 flowey_core::pipeline::artifact::publish 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 4 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: πΌπ¦ Publish aarch64-windows-hypestv | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-hypestv | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-igvmfilegen | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-igvmfilegen | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-ohcldiag-dev | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-ohcldiag-dev | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-vmgs_lib | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-vmgs_lib | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ | |
| include-hidden-files: true | |
| job5: | |
| name: build artifacts (for VMM tests) [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job5-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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 5 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 5 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 5 '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 5 'artifact_publish_from_aarch64-windows-openvmm' --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 5 '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 5 '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 5 '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 5 '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 5 '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 5 'artifact_publish_from_aarch64-windows-vmm-tests-archive' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 5 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 5 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::install_rust 2 | |
| flowey.exe e 5 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 5 '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 5 '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 5 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 5 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 5 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 5 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 5 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::cache 4 | |
| flowey.exe v 5 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 5 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 5 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 5 flowey_lib_common::cache 6 | |
| flowey.exe e 5 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 5 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 5 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build openvmm | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 5 flowey_lib_hvlite::build_openvmm 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 0 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build tmk_vmm | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 3 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 5 | |
| flowey.exe e 5 flowey_lib_hvlite::build_tmk_vmm 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 1 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 5 | |
| shell: bash | |
| - name: cargo build prep_steps | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 5 flowey_lib_hvlite::build_prep_steps 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 2 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build vmgstool | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 5 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 9 | |
| flowey.exe e 5 flowey_lib_hvlite::build_vmgstool 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 3 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 2 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 7 | |
| shell: bash | |
| - name: cargo build tpm_guest_tests | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 4 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 8 | |
| flowey.exe e 5 flowey_lib_hvlite::build_tpm_guest_tests 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 4 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 6 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: cargo build test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 2 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 4 | |
| flowey.exe e 5 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 5 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::cache 0 | |
| flowey.exe v 5 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 5 '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 | |
| run: |- | |
| flowey.exe v 5 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 5 flowey_lib_common::cache 2 | |
| flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 5 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::install_cargo_nextest 0 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: build + archive 'vmm_tests' nextests | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_nextest_archive 0 | |
| flowey.exe e 5 flowey_lib_hvlite::build_nextest_vmm_tests 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 6 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 5 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 5 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: πΌπ¦ Publish aarch64-windows-openvmm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-prep_steps | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-prep_steps | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-test_igvm_agent_rpc_server | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-test_igvm_agent_rpc_server | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-tmk_vmm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-tmk_vmm | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-tpm_guest_tests | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-tpm_guest_tests | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tpm_guest_tests/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-vmgstool | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-vmgstool | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-vmm-tests-archive | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ | |
| include-hidden-files: true | |
| job6: | |
| name: build artifacts (not for VMM tests) [x64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job6-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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 6 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 6 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 6 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-hypestv" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-hypestv" | flowey.exe v 6 'artifact_publish_from_x64-windows-hypestv' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-igvmfilegen" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-igvmfilegen" | flowey.exe v 6 'artifact_publish_from_x64-windows-igvmfilegen' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-ohcldiag-dev" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 6 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 6 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| 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.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 | |
| 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 6 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 6 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 6 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 6 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 6 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 6 flowey_lib_common::cache 0 | |
| flowey.exe v 6 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 6 '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-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 6 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 6 flowey_lib_common::cache 2 | |
| flowey.exe e 6 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 6 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 6 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build hypestv | |
| run: |- | |
| flowey.exe e 6 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 6 flowey_lib_hvlite::build_hypestv 0 | |
| flowey.exe e 6 flowey_core::pipeline::artifact::publish 0 | |
| flowey.exe e 6 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build vmgs_lib | |
| run: |- | |
| flowey.exe e 6 flowey_lib_common::run_cargo_build 3 | |
| flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
| shell: bash | |
| - name: test vmgs_lib | |
| run: |- | |
| flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
| flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2 | |
| flowey.exe e 6 flowey_core::pipeline::artifact::publish 1 | |
| flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey.exe e 6 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0 | |
| flowey.exe e 6 flowey_core::pipeline::artifact::publish 2 | |
| flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build ohcldiag-dev | |
| run: |- | |
| flowey.exe e 6 flowey_lib_common::run_cargo_build 2 | |
| flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
| flowey.exe e 6 flowey_core::pipeline::artifact::publish 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 6 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: πΌπ¦ Publish x64-windows-hypestv | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-hypestv | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-igvmfilegen | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-igvmfilegen | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-ohcldiag-dev | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-ohcldiag-dev | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-vmgs_lib | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-vmgs_lib | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ | |
| include-hidden-files: true | |
| job7: | |
| name: build artifacts (for VMM tests) [x64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job7-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@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 7 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 7 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 7 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| 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.exe e 7 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 7 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| 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.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 | |
| 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 7 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 7 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 7 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 7 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 7 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::cache 4 | |
| flowey.exe v 7 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 7 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 7 flowey_lib_common::cache 6 | |
| flowey.exe e 7 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 7 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 7 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 7 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build openvmm | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 7 flowey_lib_hvlite::build_openvmm 0 | |
| flowey.exe e 7 flowey_core::pipeline::artifact::publish 0 | |
| flowey.exe e 7 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build tmk_vmm | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::run_cargo_build 3 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 5 | |
| flowey.exe e 7 flowey_lib_hvlite::build_tmk_vmm 0 | |
| flowey.exe e 7 flowey_core::pipeline::artifact::publish 1 | |
| flowey.exe e 7 flowey_lib_hvlite::init_cross_build 5 | |
| shell: bash | |
| - name: cargo build prep_steps | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 7 flowey_lib_hvlite::build_prep_steps 0 | |
| flowey.exe e 7 flowey_core::pipeline::artifact::publish 2 | |
| flowey.exe e 7 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build vmgstool | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::run_cargo_build 5 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 9 | |
| flowey.exe e 7 flowey_lib_hvlite::build_vmgstool 0 | |
| flowey.exe e 7 flowey_core::pipeline::artifact::publish 3 | |
| flowey.exe e 7 flowey_lib_hvlite::init_cross_build 2 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 7 | |
| shell: bash | |
| - name: cargo build tpm_guest_tests | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::run_cargo_build 4 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 8 | |
| flowey.exe e 7 flowey_lib_hvlite::build_tpm_guest_tests 0 | |
| flowey.exe e 7 flowey_core::pipeline::artifact::publish 4 | |
| flowey.exe e 7 flowey_lib_hvlite::init_cross_build 6 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: cargo build test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::run_cargo_build 2 | |
| flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 4 | |
| flowey.exe e 7 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 7 flowey_core::pipeline::artifact::publish 5 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::cache 0 | |
| flowey.exe v 7 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe 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__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 7 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 7 flowey_lib_common::cache 2 | |
| flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 7 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::install_cargo_nextest 0 | |
| flowey.exe e 7 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: build + archive 'vmm_tests' nextests | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::run_cargo_nextest_archive 0 | |
| flowey.exe e 7 flowey_lib_hvlite::build_nextest_vmm_tests 0 | |
| flowey.exe e 7 flowey_core::pipeline::artifact::publish 6 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 7 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 7 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: πΌπ¦ Publish x64-windows-openvmm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-prep_steps | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-prep_steps | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-test_igvm_agent_rpc_server | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-test_igvm_agent_rpc_server | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-test_igvm_agent_rpc_server/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-tmk_vmm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-tmk_vmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-tpm_guest_tests | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-tpm_guest_tests | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-tpm_guest_tests/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-vmgstool | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-vmgstool | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-vmm-tests-archive | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/ | |
| include-hidden-files: true | |
| - name: πΌπ§Ό Redact bootstrap var db | |
| run: rm $AgentTempDirNormal/bootstrapped-flowey/job7.json | |
| shell: bash | |
| - name: πΌπ₯Ύ Publish bootstrapped flowey | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-windows-uid-13 | |
| path: ${{ runner.temp }}/bootstrapped-flowey | |
| job8: | |
| name: build artifacts (for VMM tests) [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job8-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 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-igvmfilegen" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 8 '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 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 8 '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 8 '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 8 '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 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 8 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 8 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 8 flowey_lib_common::install_rust 2 | |
| flowey e 8 flowey_lib_common::cfg_cargo_common_flags 0 | |
| 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: 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 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 | |
| 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 8 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 8 flowey_lib_common::git_checkout 3 | |
| flowey e 8 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 8 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| 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 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 | |
| - 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 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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 8 flowey_lib_common::cache 2 | |
| flowey e 8 flowey_lib_common::download_gh_release 1 | |
| 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 | |
| shell: bash | |
| - name: cargo build openvmm | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 2 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 4 | |
| 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 5 | |
| flowey e 8 flowey_lib_hvlite::build_openvmm 0 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 0 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build openvmm_vhost | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 4 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 8 | |
| 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 9 | |
| flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 1 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build vmgstool | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 7 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::run_split_debug_info 6 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 14 | |
| flowey e 8 flowey_lib_hvlite::build_vmgstool 0 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 2 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build vmgs_lib | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 6 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 12 | |
| flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
| flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 3 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 0 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 0 | |
| 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 1 | |
| flowey e 8 flowey_lib_hvlite::build_igvmfilegen 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 ohcldiag-dev | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 1 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 2 | |
| 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 3 | |
| flowey e 8 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 5 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 8 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 6 | |
| shell: bash | |
| - name: cargo build openvmm | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 3 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 6 | |
| 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 7 | |
| flowey e 8 flowey_lib_hvlite::build_openvmm 1 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 6 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 7 | |
| shell: bash | |
| - name: cargo build openvmm_vhost | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 5 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 10 | |
| 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 11 | |
| flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 8 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: πΌπ¦ Publish aarch64-linux-igvmfilegen | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| 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: | |
| name: aarch64-linux-ohcldiag-dev | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-openvmm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-openvmm_vhost | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-openvmm_vhost | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm_vhost/ | |
| 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 | |
| job9: | |
| name: build artifacts (for VMM tests) [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job9-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| shell: bash | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci | |
| shell: bash | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 9 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 9 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 9 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| 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" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | flowey v 9 '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 9 '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 9 'artifact_publish_from_x64-linux-openvmm_vhost' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | flowey v 9 '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 9 '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 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 9 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 9 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 9 flowey_lib_common::install_rust 2 | |
| flowey e 9 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 9 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 9 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 9 flowey_lib_common::git_checkout 0 | |
| flowey v 9 '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 9 '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 9 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 9 flowey_lib_common::git_checkout 3 | |
| flowey e 9 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 9 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 9 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 9 flowey_lib_common::cache 4 | |
| flowey v 9 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 9 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 9 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey e 9 flowey_lib_common::cache 6 | |
| flowey e 9 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 9 flowey_lib_common::resolve_protoc 0 | |
| flowey e 9 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - 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 | |
| shell: bash | |
| - name: cargo build openvmm | |
| run: |- | |
| flowey e 9 flowey_lib_common::run_cargo_build 2 | |
| flowey e 9 flowey_lib_hvlite::run_cargo_build 4 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 9 flowey_lib_hvlite::run_split_debug_info 1 | |
| 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 | |
| shell: bash | |
| - name: cargo build openvmm_vhost | |
| run: |- | |
| 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 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 5 | |
| shell: bash | |
| - name: cargo build vmgstool | |
| run: |- | |
| 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 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 4 | |
| shell: bash | |
| - name: cargo build vmgs_lib | |
| run: |- | |
| 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 | |
| run: |- | |
| 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 2 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey e 9 flowey_lib_common::run_cargo_build 0 | |
| flowey e 9 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| 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 | |
| flowey e 9 flowey_lib_hvlite::init_cross_build 6 | |
| shell: bash | |
| - name: cargo build ohcldiag-dev | |
| run: |- | |
| flowey e 9 flowey_lib_common::run_cargo_build 1 | |
| flowey e 9 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 9 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 9 flowey_lib_hvlite::run_cargo_build 3 | |
| 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 | |
| flowey e 9 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 9 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 9 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 9 flowey_lib_common::cache 0 | |
| flowey v 9 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 9 '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 | |
| run: |- | |
| flowey v 9 '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 <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 9 flowey_lib_common::cache 2 | |
| flowey e 9 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey e 9 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey e 9 flowey_lib_common::install_cargo_nextest 0 | |
| flowey e 9 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: build + archive 'vmm_tests' nextests | |
| 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 8 | |
| flowey e 9 flowey_lib_hvlite::init_cross_build 7 | |
| 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 9 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 9 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 9 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: πΌπ¦ Publish x64-linux-igvmfilegen | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| 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: | |
| name: x64-linux-musl-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-tests-archive/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-ohcldiag-dev | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-ohcldiag-dev | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-openvmm | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-openvmm_vhost | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-openvmm_vhost | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm_vhost/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-vmgs_lib | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-vmgs_lib | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-vmgstool | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-vmgstool | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-vmm-tests-archive | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ | |
| include-hidden-files: true | |
| - name: πΌπ§Ό Redact bootstrap var db | |
| run: rm $AgentTempDirNormal/bootstrapped-flowey/job9.json | |
| shell: bash | |
| - name: πΌπ₯Ύ Publish bootstrapped flowey | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-11 | |
| path: ${{ runner.temp }}/bootstrapped-flowey |