petri: support lazy disk artifact fetching via HTTP #10358
Workflow file for this run
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 PR | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| verbose: | |
| description: Run with verbose output | |
| default: false | |
| required: false | |
| type: boolean | |
| pull_request: | |
| branches: | |
| - main | |
| - release/* | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| - ready_for_review | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| job0: | |
| name: quick check [fmt, clippy x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64-256gb | |
| - JobId=job0-${{ 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.94.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.94.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.94.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-pr.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-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 0 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 0 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 0 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 0 flowey_lib_common::git_checkout 0 | |
| flowey 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 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 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 e 0 flowey_lib_common::git_checkout 3 | |
| flowey e 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 0 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 0 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 0 flowey_lib_common::install_rust 2 | |
| flowey e 0 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 0 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 0 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 0 flowey_lib_common::cache 0 | |
| flowey v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey 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 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 e 0 flowey_lib_common::cache 2 | |
| flowey e 0 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 0 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 0 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 0 flowey_lib_common::resolve_protoc 0 | |
| flowey e 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 0 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 0 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 0 flowey_lib_common::run_cargo_build 1 | |
| flowey e 0 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 0 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 0 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 0 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: run xtask fmt | |
| run: |- | |
| flowey e 0 flowey_lib_hvlite::_jobs::check_xtask_fmt 0 | |
| flowey e 0 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 0 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 0 flowey_lib_common::run_cargo_build 0 | |
| flowey e 0 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 0 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 0 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 0 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey e 0 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 0 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 0 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: ๐ผ๐งผ Redact bootstrap var db | |
| run: rm $AgentTempDirNormal/bootstrapped-flowey/job0.json | |
| shell: bash | |
| - name: ๐ผ๐ฅพ Publish bootstrapped flowey | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/bootstrapped-flowey | |
| job1: | |
| name: xtask fmt (windows) | |
| runs-on: windows-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 1 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 1 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 1 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 1 flowey_lib_common::git_checkout 0 | |
| flowey.exe 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.exe 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.exe 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.exe e 1 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 1 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 1 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 1 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey.exe e 1 flowey_lib_common::install_rust 2 | |
| flowey.exe e 1 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 1 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 1 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 1 flowey_lib_common::cache 0 | |
| flowey.exe v 1 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe 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.exe 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.exe e 1 flowey_lib_common::cache 2 | |
| flowey.exe e 1 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 1 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 1 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 1 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 1 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 1 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 1 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 1 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: run xtask fmt | |
| run: flowey.exe e 1 flowey_lib_hvlite::_jobs::check_xtask_fmt 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 1 flowey_lib_common::cache 3 | |
| shell: bash | |
| job10: | |
| name: build openhcl [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64-256gb | |
| - JobId=job10-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 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/x64-linux-musl-pipette" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 10 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 10 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 10 '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 10 'artifact_publish_from_x64-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 (x64) | |
| 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 9 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 10 | |
| shell: bash | |
| - name: cargo build sidecar | |
| run: |- | |
| flowey e 10 flowey_lib_common::run_cargo_build 4 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 11 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 7 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 12 | |
| flowey e 10 flowey_lib_hvlite::build_sidecar 0 | |
| flowey e 10 flowey_lib_hvlite::init_cross_build 1 | |
| 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 5 | |
| 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 2 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 10 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract X64 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 3 | |
| 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 | |
| flowey e 10 flowey_lib_hvlite::build_openvmm_hcl 0 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_initrd 4 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 | |
| flowey e 10 flowey_lib_hvlite::init_cross_build 2 | |
| 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 9 | |
| 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 31 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_igvmfilegen 4 | |
| 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 39 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 | |
| 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 36 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 40 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: flowey e 10 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| 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 41 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 42 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 43 | |
| 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 4 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 50 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 46 | |
| 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 47 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 48 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 51 | |
| 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 52 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 53 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 54 | |
| 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 6 | |
| 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 | |
| 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 3 | |
| 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 3 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 | |
| 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 3 | |
| flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 8 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
| 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 2 | |
| 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 2 | |
| 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 2 | |
| 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 22 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 | |
| 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 38 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 | |
| flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 49 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 45 | |
| flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 44 | |
| flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 7 | |
| 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::build_openhcl_igvm_from_recipe 11 | |
| flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 9 | |
| 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 4 | |
| shell: bash | |
| - name: cargo build pipette | |
| run: |- | |
| flowey e 10 flowey_lib_common::run_cargo_build 3 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 7 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 6 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 8 | |
| flowey e 10 flowey_lib_hvlite::build_pipette 0 | |
| flowey e 10 flowey_core::pipeline::artifact::publish 0 | |
| flowey e 10 flowey_lib_hvlite::init_cross_build 5 | |
| shell: bash | |
| - name: cargo build tmk_vmm | |
| run: |- | |
| flowey e 10 flowey_lib_common::run_cargo_build 5 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 10 flowey_lib_hvlite::run_split_debug_info 8 | |
| flowey e 10 flowey_lib_hvlite::run_cargo_build 14 | |
| flowey e 10 flowey_lib_hvlite::build_tmk_vmm 0 | |
| flowey e 10 flowey_core::pipeline::artifact::publish 1 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 10 flowey_lib_common::cache 3 | |
| shell: bash | |
| - 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-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 | |
| job11: | |
| name: verify openhcl binary size [x64] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 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 | |
| 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 floweyvar2 | |
| 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.floweyvar2 }} | |
| 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 | |
| flowey e 11 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| 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 4 | |
| flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5 | |
| flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar5 }} | |
| path: ${{ env.floweyvar6 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 11 '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 11 flowey_lib_common::cache 6 | |
| flowey e 11 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 11 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract X64 sysroot.tar.gz | |
| run: flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 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 | |
| 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 1 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| 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 1 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 11 flowey_lib_hvlite::build_openvmm_hcl 0 | |
| shell: bash | |
| - name: collect openvmm_hcl files for analysis | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 1 | |
| flowey v 11 'flowey_lib_hvlite::_jobs::check_openvmm_hcl_size:8:flowey_lib_hvlite/src/_jobs/check_openvmm_hcl_size.rs:129:27' --is-raw-string write-to-env github floweyvar1 | |
| shell: bash | |
| - id: flowey_lib_hvlite___jobs__check_openvmm_hcl_size__2 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x86_64_openvmm_hcl_for_size_analysis | |
| path: ${{ env.floweyvar1 }} | |
| name: publish openvmm_hcl for analysis | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 11 flowey_lib_common::run_cargo_build 1 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 11 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 11 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 11 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey e 11 flowey_lib_common::download_gh_cli 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 floweyvar3 | |
| flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar3 }} | |
| path: ${{ env.floweyvar4 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| 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_cli 1 | |
| flowey v 11 '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 11 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get merge commit | |
| run: flowey e 11 flowey_lib_common::git_merge_commit 0 | |
| shell: bash | |
| - name: get action id by commit | |
| run: |- | |
| flowey e 11 flowey_lib_common::gh_workflow_id 0 | |
| flowey e 11 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: flowey e 11 flowey_lib_common::download_gh_artifact 0 | |
| shell: bash | |
| - name: binary size comparison | |
| run: flowey e 11 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey e 11 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 11 flowey_lib_common::cache 7 | |
| shell: bash | |
| job12: | |
| name: clippy [x64-windows], unit tests [x64-windows] | |
| runs-on: windows-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 12 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 12 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 12 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 12 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 12 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::install_rust 2 | |
| flowey.exe e 12 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar6 | |
| flowey.exe v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar6 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe 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.exe e 12 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 12 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 12 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 12 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::cache 4 | |
| flowey.exe v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 12 '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 12 flowey_lib_common::cache 6 | |
| flowey.exe e 12 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 12 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 12 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 12 flowey_lib_hvlite::init_cross_build 0 | |
| flowey.exe e 12 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 12 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 12 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey.exe e 12 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey.exe e 12 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 12 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 12 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 12 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::cache 0 | |
| flowey.exe v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe 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.exe e 12 flowey_lib_common::cache 2 | |
| flowey.exe e 12 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 12 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::install_cargo_nextest 0 | |
| flowey.exe e 12 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 12 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 12 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: |- | |
| flowey.exe e 12 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| flowey.exe e 12 flowey_lib_hvlite::init_cross_build 1 | |
| flowey.exe e 12 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 12 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey.exe e 12 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 12 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| flowey.exe e 12 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 12 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 12 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
| shell: bash | |
| - name: run doctests for x86_64-pc-windows-msvc | |
| run: flowey.exe e 12 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 12 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 12 flowey_lib_common::cache 7 | |
| shell: bash | |
| job13: | |
| name: clippy [macos], unit tests [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64-256gb | |
| - JobId=job13-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 13 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 13 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 13 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 13 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 13 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 13 flowey_lib_common::install_rust 2 | |
| flowey e 13 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 13 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 13 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 13 flowey_lib_common::git_checkout 0 | |
| flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar6 | |
| flowey v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar6 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey 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 e 13 flowey_lib_common::git_checkout 3 | |
| flowey e 13 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 13 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 13 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 13 flowey_lib_common::cache 4 | |
| flowey v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| 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 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 e 13 flowey_lib_common::cache 6 | |
| flowey e 13 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 13 flowey_lib_common::resolve_protoc 0 | |
| flowey e 13 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 13 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 13 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 13 flowey_lib_common::run_cargo_build 0 | |
| flowey e 13 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 13 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 13 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 13 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey e 13 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 13 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 13 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 13 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 13 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 13 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 13 flowey_lib_common::cache 0 | |
| flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
| 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 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 e 13 flowey_lib_common::cache 2 | |
| flowey e 13 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey e 13 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey e 13 flowey_lib_common::install_cargo_nextest 0 | |
| flowey e 13 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 13 flowey_lib_common::run_cargo_build 1 | |
| flowey e 13 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 13 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 13 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 13 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: |- | |
| flowey e 13 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| flowey e 13 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 13 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey e 13 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey e 13 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| flowey e 13 flowey_lib_common::publish_test_results 0 | |
| flowey e 13 flowey_lib_common::publish_test_results 1 | |
| flowey e 13 flowey_lib_common::publish_test_results 2 | |
| flowey v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-linux-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
| shell: bash | |
| - name: run doctests for x86_64-unknown-linux-gnu | |
| run: flowey e 13 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 13 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 13 flowey_lib_common::cache 7 | |
| shell: bash | |
| job14: | |
| 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-256gb | |
| - JobId=job14-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 14 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 14 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| 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 | |
| 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 floweyvar6 | |
| 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.floweyvar6 }} | |
| 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 | |
| flowey e 14 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 14 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 14 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: 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 floweyvar4 | |
| flowey v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| 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: unpack openvmm-deps archive | |
| run: flowey e 14 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract X64 sysroot.tar.gz | |
| run: flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 14 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: unpack protoc | |
| run: flowey e 14 flowey_lib_common::resolve_protoc 0 | |
| 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 2 | |
| flowey e 14 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 14 flowey_lib_common::run_cargo_build 0 | |
| flowey e 14 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 14 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 14 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 14 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - 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 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 1 | |
| 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 floweyvar2 | |
| flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| 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 | |
| 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 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 14 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 14 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 14 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: |- | |
| flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| flowey e 14 flowey_lib_hvlite::init_cross_build 3 | |
| flowey e 14 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests' 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::_jobs::build_and_run_nextest_unit_tests 0 | |
| 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-musl-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
| shell: bash | |
| - name: run doctests for x86_64-unknown-linux-musl | |
| run: flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| 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 [aarch64-windows], unit tests [aarch64-windows] | |
| runs-on: windows-11-arm | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 15 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 15 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 15 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::install_rust 2 | |
| flowey.exe e 15 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar6 | |
| flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar6 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 15 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 15 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 15 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 15 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 15 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::cache 4 | |
| flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 15 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 15 flowey_lib_common::cache 6 | |
| flowey.exe e 15 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 15 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 15 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 15 flowey_lib_hvlite::init_cross_build 0 | |
| flowey.exe e 15 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 15 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 15 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey.exe e 15 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey.exe e 15 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 15 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 15 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::cache 0 | |
| flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
| 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 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.exe e 15 flowey_lib_common::cache 2 | |
| flowey.exe e 15 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 15 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::install_cargo_nextest 0 | |
| flowey.exe e 15 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 15 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 15 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: |- | |
| flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| flowey.exe e 15 flowey_lib_hvlite::init_cross_build 1 | |
| flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| flowey.exe e 15 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 15 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 15 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-windows-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-windows-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
| shell: bash | |
| - name: run doctests for aarch64-pc-windows-msvc | |
| run: flowey.exe e 15 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 15 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 15 flowey_lib_common::cache 7 | |
| shell: bash | |
| job16: | |
| name: clippy [aarch64-linux], unit tests [aarch64-linux] | |
| runs-on: ubuntu-24.04-arm | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 16 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 16 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 16 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 16 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 16 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 16 flowey_lib_common::install_rust 2 | |
| flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 16 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 16 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 16 flowey_lib_common::git_checkout 0 | |
| flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar6 | |
| flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar6 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 16 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 16 flowey_lib_common::git_checkout 3 | |
| flowey e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 16 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 16 flowey_lib_common::cache 4 | |
| flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey 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 e 16 flowey_lib_common::cache 6 | |
| flowey e 16 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 16 flowey_lib_common::resolve_protoc 0 | |
| flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 16 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 16 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 16 flowey_lib_common::run_cargo_build 0 | |
| flowey e 16 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 16 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 16 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 16 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: determine clippy exclusions | |
| run: flowey e 16 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| shell: bash | |
| - name: cargo clippy | |
| run: flowey e 16 flowey_lib_common::run_cargo_clippy 0 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 16 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 16 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 16 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 16 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 16 flowey_lib_common::cache 0 | |
| flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey 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 e 16 flowey_lib_common::cache 2 | |
| flowey e 16 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey e 16 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey e 16 flowey_lib_common::install_cargo_nextest 0 | |
| flowey e 16 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 16 flowey_lib_common::run_cargo_build 1 | |
| flowey e 16 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 16 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 16 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: |- | |
| flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| flowey e 16 flowey_lib_hvlite::init_cross_build 1 | |
| flowey e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests' nextest tests | |
| run: |- | |
| flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| flowey e 16 flowey_lib_common::publish_test_results 0 | |
| flowey e 16 flowey_lib_common::publish_test_results 1 | |
| flowey e 16 flowey_lib_common::publish_test_results 2 | |
| flowey 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 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-linux-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-linux-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
| shell: bash | |
| - name: run doctests for aarch64-unknown-linux-gnu | |
| run: flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 16 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 16 flowey_lib_common::cache 7 | |
| shell: bash | |
| job17: | |
| name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] | |
| runs-on: ubuntu-24.04-arm | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 17 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 17 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 17 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 17 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 17 flowey_lib_common::install_rust 2 | |
| flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 17 flowey_lib_common::git_checkout 0 | |
| flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar6 | |
| 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.floweyvar6 }} | |
| 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 | |
| flowey e 17 flowey_lib_hvlite::cfg_openvmm_magicpath 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: 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 floweyvar4 | |
| flowey v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| 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 openvmm-deps archive | |
| run: flowey e 17 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: flowey e 17 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 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: unpack protoc | |
| run: flowey e 17 flowey_lib_common::resolve_protoc 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 2 | |
| flowey e 17 flowey_lib_hvlite::init_cross_build 0 | |
| 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 1 | |
| 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 floweyvar2 | |
| flowey v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| 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 | |
| shell: bash | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 17 flowey_lib_common::run_cargo_build 1 | |
| flowey e 17 flowey_lib_hvlite::run_cargo_build 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 17 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 17 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 17 flowey_lib_hvlite::build_xtask 1 | |
| shell: bash | |
| - name: determine unit test exclusions | |
| run: |- | |
| flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
| flowey e 17 flowey_lib_hvlite::init_cross_build 3 | |
| flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: run 'unit-tests' 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::_jobs::build_and_run_nextest_unit_tests 0 | |
| 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-musl-unit-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
| shell: bash | |
| - name: run doctests for aarch64-unknown-linux-musl | |
| 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: run vmm-tests [x64-windows-intel] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job18-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job10 | |
| - job5 | |
| - 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-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe | |
| echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 18 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 18 flowey_lib_common::cache 0 | |
| flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 18 flowey_lib_common::cache 2 | |
| flowey.exe e 18 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 18 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs: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 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.floweyvar3 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe 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.exe e 18 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 18 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 5 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 6 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 1 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 0 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 9 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 4 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 11 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 10 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 8 | |
| shell: bash | |
| - name: creating new test content dir | |
| run: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: resolve OpenHCL igvm artifact | |
| run: flowey.exe e 18 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 18 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 18 flowey_lib_common::cache 8 | |
| flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
| shell: bash | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 18 '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 18 flowey_lib_common::cache 10 | |
| flowey.exe e 18 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 18 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey.exe e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey.exe e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey.exe e 18 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 18 flowey_lib_common::cache 4 | |
| flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe 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.exe e 18 flowey_lib_common::cache 6 | |
| flowey.exe e 18 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 18 '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 18 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey.exe e 18 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: flowey.exe e 18 flowey_lib_common::download_gh_artifact 0 | |
| shell: bash | |
| - name: write to directory variables | |
| run: flowey.exe e 18 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey.exe e 18 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 18 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: |- | |
| flowey.exe e 18 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey.exe e 18 flowey_core::pipeline::artifact::resolve 12 | |
| flowey.exe e 18 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 18 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 18 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 18 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey.exe e 18 flowey_lib_common::publish_test_results 4 | |
| flowey.exe e 18 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 18 '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 18 '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 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| flowey.exe e 18 flowey_lib_common::publish_test_results 0 | |
| flowey.exe e 18 flowey_lib_common::publish_test_results 1 | |
| flowey.exe e 18 flowey_lib_common::publish_test_results 2 | |
| flowey.exe v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
| flowey.exe v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__publish_test_results__3 | |
| uses: actions/upload-artifact@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 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 18 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 18 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 18 flowey_lib_common::cache 11 | |
| shell: bash | |
| job19: | |
| name: run vmm-tests [x64-windows-intel-tdx] | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - X64 | |
| - TDX | |
| - Baremetal | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job10 | |
| - job5 | |
| - 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-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe | |
| echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 19 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 19 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 19 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 19 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 19 flowey_lib_common::cache 0 | |
| flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<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 | |
| shell: bash | |
| - name: write to directory variables | |
| run: flowey.exe e 19 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey.exe e 19 flowey_lib_hvlite::resolve_openvmm_deps 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 | |
| flowey.exe e 19 flowey_core::pipeline::artifact::resolve 7 | |
| shell: bash | |
| - name: running vmm_test prep_steps | |
| run: flowey.exe e 19 flowey_lib_hvlite::run_prep_steps 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-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 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-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 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 (not for VMM tests) [aarch64-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 | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 2 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 2 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 2 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey.exe e 2 flowey_lib_common::install_rust 2 | |
| flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 2 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 | |
| flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar1 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 2 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<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 1 | |
| shell: bash | |
| - name: cargo build hypestv | |
| run: |- | |
| flowey.exe e 2 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 2 flowey_lib_hvlite::build_hypestv 0 | |
| flowey.exe e 2 flowey_core::pipeline::artifact::publish 0 | |
| flowey.exe e 2 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: cargo build vmgs_lib | |
| run: |- | |
| flowey.exe e 2 flowey_lib_common::run_cargo_build 3 | |
| flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey.exe e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
| flowey.exe e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
| flowey.exe e 2 flowey_core::pipeline::artifact::publish 1 | |
| flowey.exe e 2 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| 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_igvmfilegen 0 | |
| flowey.exe e 2 flowey_core::pipeline::artifact::publish 2 | |
| flowey.exe e 2 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build ohcldiag-dev | |
| run: |- | |
| flowey.exe e 2 flowey_lib_common::run_cargo_build 2 | |
| flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey.exe e 2 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
| flowey.exe e 2 flowey_core::pipeline::artifact::publish 3 | |
| 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-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 | |
| job20: | |
| name: run vmm-tests [x64-windows-amd] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job20-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job10 | |
| - job5 | |
| - 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-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe | |
| echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 20 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 20 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 20 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 20 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 20 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 20 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 20 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 20 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 20 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 20 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::cache 0 | |
| flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<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 | |
| shell: bash | |
| - name: write to directory variables | |
| run: flowey.exe e 20 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey.exe e 20 flowey_lib_hvlite::resolve_openvmm_deps 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-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 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-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 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-amd-snp] | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - X64 | |
| - SNP | |
| - Baremetal | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job10 | |
| - job5 | |
| - 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-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe | |
| echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 21 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 21 flowey_lib_common::cache 0 | |
| flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<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 | |
| shell: bash | |
| - name: write to directory variables | |
| run: flowey.exe e 21 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_deps 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-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 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-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 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-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64-256gb | |
| - JobId=job22-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job10 | |
| - job5 | |
| - job7 | |
| 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-1,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-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 22 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 22 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 22 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 22 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 22 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 22 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 22 'artifact_use_from_x64-linux-openvmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm_vhost" | flowey v 22 'artifact_use_from_x64-linux-openvmm_vhost' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 22 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 22 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 22 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| shell: bash | |
| - name: creating new test content dir | |
| run: |- | |
| flowey e 22 flowey_core::pipeline::artifact::resolve 3 | |
| flowey e 22 flowey_core::pipeline::artifact::resolve 4 | |
| flowey e 22 flowey_core::pipeline::artifact::resolve 7 | |
| flowey e 22 flowey_core::pipeline::artifact::resolve 1 | |
| flowey e 22 flowey_core::pipeline::artifact::resolve 0 | |
| flowey e 22 flowey_core::pipeline::artifact::resolve 2 | |
| flowey e 22 flowey_core::pipeline::artifact::resolve 6 | |
| flowey e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 22 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 22 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 22 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 22 flowey_lib_common::cache 8 | |
| flowey v 22 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 22 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
| shell: bash | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey 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 e 22 flowey_lib_common::cache 10 | |
| flowey e 22 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: extract azcopy from archive | |
| run: flowey e 22 flowey_lib_common::download_azcopy 0 | |
| shell: bash | |
| - name: calculating required VMM tests disk images | |
| run: flowey e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| shell: bash | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
| flowey e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey e 22 flowey_lib_common::download_gh_cli 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 22 flowey_lib_common::cache 4 | |
| flowey v 22 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
| flowey 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 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 e 22 flowey_lib_common::cache 6 | |
| flowey e 22 flowey_lib_common::download_gh_cli 1 | |
| flowey 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 e 22 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get latest completed action id | |
| run: flowey e 22 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: flowey e 22 flowey_lib_common::download_gh_artifact 0 | |
| shell: bash | |
| - name: write to directory variables | |
| run: flowey e 22 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 22 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 22 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: setting up vmm_tests env | |
| run: flowey e 22 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| shell: bash | |
| - name: ensure /dev/kvm is accessible | |
| run: flowey e 22 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 22 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 22 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 22 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 22 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 22 flowey_lib_common::cache 0 | |
| flowey v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey 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 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 e 22 flowey_lib_common::cache 2 | |
| flowey e 22 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 22 flowey_lib_common::git_checkout 0 | |
| flowey v 22 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3 | |
| flowey v 22 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar3 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey 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 e 22 flowey_lib_common::git_checkout 3 | |
| flowey e 22 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| flowey e 22 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| flowey e 22 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
| flowey e 22 flowey_core::pipeline::artifact::resolve 5 | |
| flowey e 22 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1 | |
| shell: bash | |
| - name: generate nextest command | |
| run: flowey e 22 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| shell: bash | |
| - name: install vmm tests deps (linux) | |
| run: flowey e 22 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
| shell: bash | |
| - name: run 'vmm_tests' nextest tests | |
| run: |- | |
| flowey e 22 flowey_lib_common::run_cargo_nextest_run 0 | |
| flowey e 22 flowey_lib_common::run_cargo_nextest_run 1 | |
| flowey e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
| flowey e 22 flowey_lib_common::publish_test_results 4 | |
| flowey e 22 flowey_lib_common::publish_test_results 5 | |
| flowey v 22 'flowey_lib_common::publish_test_results: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 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-linux-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: ๐ฆ flowey rust steps | |
| run: |- | |
| flowey e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| flowey e 22 flowey_lib_common::publish_test_results 0 | |
| flowey e 22 flowey_lib_common::publish_test_results 1 | |
| flowey e 22 flowey_lib_common::publish_test_results 2 | |
| flowey 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 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-linux-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 22 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey e 22 flowey_lib_common::cache 7 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 22 flowey_lib_common::cache 11 | |
| shell: bash | |
| job23: | |
| name: run vmm-tests [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - ARM64 | |
| - Baremetal | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job3 | |
| - job6 | |
| - job8 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - 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-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 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\\aarch64-guest_test_uefi" | flowey.exe v 23 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 23 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 23 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-openhcl-igvm" | flowey.exe v 23 'artifact_use_from_aarch64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-tmks" | flowey.exe v 23 'artifact_use_from_aarch64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-openvmm" | flowey.exe v 23 'artifact_use_from_aarch64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-pipette" | flowey.exe v 23 'artifact_use_from_aarch64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 23 'artifact_use_from_aarch64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 23 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 23 'artifact_use_from_aarch64-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 4 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 5 | |
| 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 6 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 23 flowey_core::pipeline::artifact::resolve 7 | |
| 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 | |
| shell: bash | |
| - name: write to directory variables | |
| run: flowey.exe e 23 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey.exe e 23 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (aarch64) | |
| 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 8 | |
| 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 | |
| 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: 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 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: 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 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: test flowey local backend | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 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 | |
| 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 floweyvar1 | |
| 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.floweyvar1 }} | |
| 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 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 24 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: |- | |
| flowey e 24 flowey_lib_common::install_rust 1 | |
| flowey v 24 'flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm:2: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 24 flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm 1 | |
| shell: bash | |
| job25: | |
| name: build openhcl (mi-secure) [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64-256gb | |
| - JobId=job25-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 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 | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm" | flowey v 25 '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 25 'artifact_publish_from_x64-mi-secure-openhcl-igvm-extras' --is-raw-string update | |
| 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 0 | |
| flowey v 25 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 | |
| flowey v 25 '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 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_gh_release 1 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 25 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 25 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 25 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 25 flowey_lib_common::install_rust 2 | |
| flowey e 25 flowey_lib_common::cfg_cargo_common_flags 0 | |
| 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 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 25 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 25 flowey_lib_common::resolve_protoc 0 | |
| flowey e 25 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 25 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 7 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 8 | |
| shell: bash | |
| - name: cargo build sidecar | |
| run: |- | |
| flowey e 25 flowey_lib_common::run_cargo_build 3 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 9 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 10 | |
| flowey e 25 flowey_lib_hvlite::build_sidecar 0 | |
| flowey e 25 flowey_lib_hvlite::init_cross_build 1 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: cargo build openhcl_boot | |
| run: |- | |
| flowey e 25 flowey_lib_common::run_cargo_build 1 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 4 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_split_debug_info 3 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 5 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_boot 0 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 | |
| shell: bash | |
| - name: extract X64 sysroot.tar.gz | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| flowey e 25 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| run: |- | |
| flowey e 25 flowey_lib_common::run_cargo_build 2 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey e 25 flowey_lib_hvlite::build_openvmm_hcl 0 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_split_debug_info 2 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_initrd 2 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 | |
| flowey e 25 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey e 25 flowey_lib_common::run_cargo_build 0 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_split_debug_info 5 | |
| flowey e 25 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 25 flowey_lib_hvlite::build_igvmfilegen 0 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_igvmfilegen 2 | |
| flowey e 25 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 25 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::resolve_openhcl_kernel_package 1 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_initrd 1 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_igvmfilegen 1 | |
| flowey e 25 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_initrd 0 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 25 flowey_lib_hvlite::run_igvmfilegen 0 | |
| flowey e 25 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0 | |
| flowey e 25 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm files to artifact dir | |
| run: |- | |
| flowey e 25 flowey_lib_common::copy_to_artifact_dir 1 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 | |
| flowey e 25 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 | |
| flowey e 25 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 | |
| flowey e 25 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
| flowey e 25 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1 | |
| flowey e 25 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm extras to artifact dir | |
| run: flowey e 25 flowey_lib_common::copy_to_artifact_dir 0 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 25 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 | |
| job26: | |
| name: run vmm-tests [x64-windows-intel-mi-secure] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job26-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job10 | |
| - job25 | |
| - job5 | |
| - 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-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe | |
| echo '"debug"' | flowey.exe v 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\\x64-guest_test_uefi" | flowey.exe v 26 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 26 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 26 '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 26 '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 26 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 26 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 26 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 26 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 26 '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 26 '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 26 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 26 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 26 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 26 'artifact_use_from_x64-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 5 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 6 | |
| 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 9 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 2 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 4 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 11 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 10 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 3 | |
| flowey.exe e 26 flowey_core::pipeline::artifact::resolve 8 | |
| 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 | |
| shell: bash | |
| - name: write to directory variables | |
| run: flowey.exe e 26 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey.exe e 26 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: unpack mu_msvm package (x64) | |
| 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 12 | |
| 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: 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 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: 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 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: openvmm checkin gates | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job1 | |
| - job10 | |
| - job11 | |
| - job12 | |
| - job13 | |
| - job14 | |
| - job15 | |
| - job16 | |
| - job17 | |
| - job18 | |
| - job19 | |
| - job2 | |
| - job20 | |
| - job21 | |
| - job22 | |
| - job23 | |
| - job24 | |
| - job25 | |
| - job26 | |
| - job3 | |
| - job4 | |
| - job5 | |
| - job6 | |
| - job7 | |
| - job8 | |
| - job9 | |
| if: always() && github.event.pull_request.draft == false | |
| env: | |
| ANY_JOBS_FAILED: ${{ contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }} | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 27 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 27 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 27 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| shell: bash | |
| - name: Check if any jobs failed | |
| run: flowey e 27 flowey_lib_hvlite::_jobs::all_good_job 0 | |
| shell: bash | |
| job3: | |
| name: build artifacts (for VMM tests) [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=win-amd64 | |
| - JobId=job3-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 3 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 3 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 3 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-prep_steps" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-prep_steps" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-prep_steps' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-test_igvm_agent_rpc_server" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tmk_vmm" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-tmk_vmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tpm_guest_tests" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tpm_guest_tests" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-tpm_guest_tests' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgstool" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-vmgstool' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-archive" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-vmm-tests-archive' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey.exe e 3 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey.exe e 3 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::install_rust 2 | |
| flowey.exe e 3 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 | |
| flowey.exe v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| shell: bash | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar1 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 3 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 3 flowey_lib_common::git_checkout 3 | |
| flowey.exe e 3 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 3 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 3 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::cache 4 | |
| flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| 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 3 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 3 flowey_lib_common::cache 6 | |
| flowey.exe e 3 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::resolve_protoc 0 | |
| flowey.exe e 3 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey.exe e 3 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey.exe e 3 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build tmk_vmm | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::run_cargo_build 4 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey.exe e 3 flowey_lib_hvlite::build_tmk_vmm 0 | |
| flowey.exe e 3 flowey_core::pipeline::artifact::publish 4 | |
| flowey.exe e 3 flowey_lib_hvlite::init_cross_build 7 | |
| shell: bash | |
| - name: cargo build prep_steps | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::run_cargo_build 2 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey.exe e 3 flowey_lib_hvlite::build_prep_steps 0 | |
| flowey.exe e 3 flowey_core::pipeline::artifact::publish 5 | |
| flowey.exe e 3 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build vmgstool | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::run_cargo_build 6 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 10 | |
| flowey.exe e 3 flowey_lib_hvlite::build_vmgstool 0 | |
| flowey.exe e 3 flowey_core::pipeline::artifact::publish 6 | |
| flowey.exe e 3 flowey_lib_hvlite::init_cross_build 3 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 7 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 8 | |
| shell: bash | |
| - name: cargo build tpm_guest_tests | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::run_cargo_build 5 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 9 | |
| flowey.exe e 3 flowey_lib_hvlite::build_tpm_guest_tests 0 | |
| flowey.exe e 3 flowey_core::pipeline::artifact::publish 7 | |
| flowey.exe e 3 flowey_lib_hvlite::init_cross_build 1 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 4 | |
| shell: bash | |
| - name: cargo build test_igvm_agent_rpc_server | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::run_cargo_build 3 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 5 | |
| flowey.exe e 3 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 3 flowey_core::pipeline::artifact::publish 0 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::download_cargo_nextest 0 | |
| flowey.exe e 3 flowey_lib_common::download_cargo_nextest 1 | |
| flowey.exe e 3 flowey_lib_common::download_cargo_nextest 2 | |
| flowey.exe e 3 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::cache 0 | |
| flowey.exe v 3 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 3 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
| 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 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.exe e 3 flowey_lib_common::cache 2 | |
| flowey.exe e 3 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 3 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::install_cargo_nextest 0 | |
| flowey.exe e 3 flowey_lib_hvlite::init_cross_build 0 | |
| shell: bash | |
| - name: build + archive 'vmm_tests' nextests | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::run_cargo_nextest_archive 0 | |
| flowey.exe e 3 flowey_lib_hvlite::build_nextest_vmm_tests 0 | |
| flowey.exe e 3 flowey_core::pipeline::artifact::publish 1 | |
| flowey.exe e 3 flowey_lib_hvlite::init_cross_build 5 | |
| shell: bash | |
| - name: cargo build openvmm | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::run_cargo_build 0 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 0 | |
| flowey.exe e 3 flowey_lib_hvlite::build_openvmm 0 | |
| flowey.exe e 3 flowey_core::pipeline::artifact::publish 2 | |
| flowey.exe e 3 flowey_lib_hvlite::init_cross_build 6 | |
| shell: bash | |
| - name: cargo build pipette | |
| run: |- | |
| flowey.exe e 3 flowey_lib_common::run_cargo_build 1 | |
| flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey.exe e 3 flowey_lib_hvlite::build_pipette 0 | |
| flowey.exe e 3 flowey_core::pipeline::artifact::publish 3 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 3 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 3 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-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 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 | |
| job4: | |
| name: build artifacts (not for VMM tests) [x64-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 | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 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/x64-windows-hypestv" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-hypestv" | flowey.exe v 4 '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 4 '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 4 '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 4 'artifact_publish_from_x64-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 | |
| shell: bash | |
| - name: test vmgs_lib | |
| run: |- | |
| flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
| flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 2 | |
| 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 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 | |
| job5: | |
| name: build artifacts (for VMM tests) [x64-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 | |
| needs: | |
| - job0 | |
| 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.94.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.94.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.94.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| shell: bash | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| shell: bash | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ Self-check YAML | |
| run: |- | |
| ESCAPED_AGENT_TEMPDIR=$( | |
| cat <<'EOF' | sed 's/\\/\\\\/g' | |
| ${{ runner.temp }} | |
| EOF | |
| ) | |
| flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr | |
| shell: bash | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 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/x64-windows-openvmm" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-openvmm" | flowey.exe v 5 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 5 'artifact_publish_from_x64-windows-pipette' --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 5 '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 5 '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 5 '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 5 '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 5 '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 5 '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 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 5 | |
| 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 6 | |
| shell: bash | |
| - name: cargo build pipette | |
| 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_pipette 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 1 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build tmk_vmm | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 4 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey.exe e 5 flowey_lib_hvlite::build_tmk_vmm 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 2 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 7 | |
| shell: bash | |
| - name: cargo build prep_steps | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 2 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey.exe e 5 flowey_lib_hvlite::build_prep_steps 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 3 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build vmgstool | |
| run: |- | |
| flowey.exe e 5 flowey_lib_common::run_cargo_build 6 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 10 | |
| flowey.exe e 5 flowey_lib_hvlite::build_vmgstool 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 4 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 3 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 7 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 8 | |
| shell: bash | |
| - name: cargo build tpm_guest_tests | |
| 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_tpm_guest_tests 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 5 | |
| flowey.exe e 5 flowey_lib_hvlite::init_cross_build 1 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 4 | |
| shell: bash | |
| - name: cargo build test_igvm_agent_rpc_server | |
| 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_test_igvm_agent_rpc_server 0 | |
| flowey.exe e 5 flowey_core::pipeline::artifact::publish 6 | |
| 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 7 | |
| 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 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-pipette | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-windows-pipette | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ | |
| include-hidden-files: true | |
| - name: ๐ผ๐ฆ Publish x64-windows-prep_steps | |
| uses: actions/upload-artifact@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/job5.json | |
| shell: bash | |
| - name: ๐ผ๐ฅพ Publish bootstrapped flowey | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-windows-uid-6 | |
| path: ${{ runner.temp }}/bootstrapped-flowey | |
| job6: | |
| name: build artifacts [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64-256gb | |
| - JobId=job6-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 6 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 6 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 6 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 6 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 6 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 6 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 6 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 6 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 6 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 6 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 6 'artifact_publish_from_aarch64-tmks' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 6 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 6 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 6 flowey_lib_common::install_rust 2 | |
| flowey e 6 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 6 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 6 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 6 flowey_lib_common::git_checkout 0 | |
| flowey v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 | |
| flowey v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| 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 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 e 6 flowey_lib_common::git_checkout 3 | |
| flowey e 6 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 6 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 6 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 6 flowey_lib_common::cache 0 | |
| flowey v 6 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey 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 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 e 6 flowey_lib_common::cache 2 | |
| flowey e 6 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 6 flowey_lib_common::resolve_protoc 0 | |
| flowey e 6 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build openvmm | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 3 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 5 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey e 6 flowey_lib_hvlite::build_openvmm 0 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 0 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build openvmm_vhost | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 4 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 7 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 8 | |
| flowey e 6 flowey_lib_hvlite::build_openvmm_vhost 0 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 1 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 6 | |
| shell: bash | |
| - name: cargo build vmgstool | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 8 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 16 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::run_split_debug_info 5 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 17 | |
| flowey e 6 flowey_lib_hvlite::build_vmgstool 0 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 2 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 5 | |
| shell: bash | |
| - name: cargo build vmgs_lib | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 7 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 15 | |
| flowey e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
| flowey e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 3 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 7 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 1 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 1 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::run_split_debug_info 6 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey e 6 flowey_lib_hvlite::build_igvmfilegen 0 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 4 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: cargo build ohcldiag-dev | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 2 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 4 | |
| flowey e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 5 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 8 | |
| shell: bash | |
| - name: cargo build guest_test_uefi | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 0 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: build guest_test_uefi.img | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::build_guest_test_uefi 0 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 6 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 9 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 10 | |
| shell: bash | |
| - name: cargo build simple_tmk | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 5 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 11 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 12 | |
| flowey e 6 flowey_lib_hvlite::build_tmks 0 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 7 | |
| flowey e 6 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build tpm_guest_tests | |
| run: |- | |
| flowey e 6 flowey_lib_common::run_cargo_build 6 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 6 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 6 flowey_lib_hvlite::run_cargo_build 14 | |
| flowey e 6 flowey_lib_hvlite::build_tpm_guest_tests 0 | |
| flowey e 6 flowey_core::pipeline::artifact::publish 8 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 6 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-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-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-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-linux-vmgs_lib | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-vmgs_lib | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/ | |
| include-hidden-files: true | |
| - name: ๐ผ๐ฆ Publish aarch64-linux-vmgstool | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-linux-vmgstool | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ | |
| include-hidden-files: true | |
| - name: ๐ผ๐ฆ Publish aarch64-tmks | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64-tmks | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ | |
| include-hidden-files: true | |
| job7: | |
| name: build artifacts [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64-256gb | |
| - JobId=job7-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 7 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 7 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 7 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 7 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_x64-linux-ohcldiag-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | flowey v 7 'artifact_publish_from_x64-linux-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" | flowey v 7 'artifact_publish_from_x64-linux-openvmm_vhost' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 7 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | flowey v 7 'artifact_publish_from_x64-linux-vmgs_lib' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 7 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 7 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 7 'artifact_publish_from_x64-tmks' --is-raw-string update | |
| shell: bash | |
| - name: add default cargo home to path | |
| run: flowey e 7 flowey_lib_common::install_rust 0 | |
| shell: bash | |
| - name: install Rust | |
| run: flowey e 7 flowey_lib_common::install_rust 1 | |
| shell: bash | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 7 flowey_lib_common::install_rust 2 | |
| flowey e 7 flowey_lib_common::cfg_cargo_common_flags 0 | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 7 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 7 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 7 flowey_lib_common::git_checkout 0 | |
| flowey v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1 | |
| flowey v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION | |
| 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 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 e 7 flowey_lib_common::git_checkout 3 | |
| flowey e 7 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| shell: bash | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 7 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 7 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 7 flowey_lib_common::cache 4 | |
| flowey v 7 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 7 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
| 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 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 e 7 flowey_lib_common::cache 6 | |
| flowey e 7 flowey_lib_common::download_gh_release 1 | |
| shell: bash | |
| - name: unpack protoc | |
| run: |- | |
| flowey e 7 flowey_lib_common::resolve_protoc 0 | |
| flowey e 7 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build openvmm | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 3 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 5 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey e 7 flowey_lib_hvlite::build_openvmm 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 0 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 4 | |
| shell: bash | |
| - name: cargo build openvmm_vhost | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 4 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 7 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::run_split_debug_info 2 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 8 | |
| flowey e 7 flowey_lib_hvlite::build_openvmm_vhost 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 1 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 7 | |
| shell: bash | |
| - name: cargo build vmgstool | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 8 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 16 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::run_split_debug_info 5 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 17 | |
| flowey e 7 flowey_lib_hvlite::build_vmgstool 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 2 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 6 | |
| shell: bash | |
| - name: cargo build vmgs_lib | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 7 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 15 | |
| flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
| shell: bash | |
| - name: test vmgs_lib | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
| flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 2 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 3 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 8 | |
| shell: bash | |
| - name: cargo build igvmfilegen | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 1 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 1 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::run_split_debug_info 6 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey e 7 flowey_lib_hvlite::build_igvmfilegen 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 4 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build ohcldiag-dev | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 2 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::run_split_debug_info 0 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 4 | |
| flowey e 7 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 5 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 9 | |
| shell: bash | |
| - name: cargo build guest_test_uefi | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 0 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 0 | |
| shell: bash | |
| - name: build guest_test_uefi.img | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::build_guest_test_uefi 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 6 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 9 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 10 | |
| shell: bash | |
| - name: cargo build simple_tmk | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 5 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 11 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::run_split_debug_info 3 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 12 | |
| flowey e 7 flowey_lib_hvlite::build_tmks 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 7 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 5 | |
| shell: bash | |
| - name: cargo build tpm_guest_tests | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_build 6 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 7 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 7 flowey_lib_hvlite::run_cargo_build 14 | |
| flowey e 7 flowey_lib_hvlite::build_tpm_guest_tests 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 8 | |
| shell: bash | |
| - name: create cargo-nextest cache dir | |
| run: |- | |
| flowey e 7 flowey_lib_common::download_cargo_nextest 0 | |
| flowey e 7 flowey_lib_common::download_cargo_nextest 1 | |
| flowey e 7 flowey_lib_common::download_cargo_nextest 2 | |
| flowey e 7 flowey_lib_common::download_cargo_nextest 3 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 7 flowey_lib_common::cache 0 | |
| flowey v 7 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 7 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey 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 e 7 flowey_lib_common::cache 2 | |
| flowey e 7 flowey_lib_common::download_cargo_nextest 4 | |
| shell: bash | |
| - name: report $CARGO_HOME | |
| run: flowey e 7 flowey_lib_common::install_rust 3 | |
| shell: bash | |
| - name: installing cargo-nextest | |
| run: |- | |
| flowey e 7 flowey_lib_common::install_cargo_nextest 0 | |
| flowey e 7 flowey_lib_hvlite::init_cross_build 1 | |
| shell: bash | |
| - name: build + archive 'vmm_tests' nextests | |
| run: |- | |
| flowey e 7 flowey_lib_common::run_cargo_nextest_archive 0 | |
| flowey e 7 flowey_lib_hvlite::build_nextest_vmm_tests 0 | |
| flowey e 7 flowey_core::pipeline::artifact::publish 9 | |
| shell: bash | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 7 flowey_lib_common::cache 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 7 flowey_lib_common::cache 7 | |
| shell: bash | |
| - 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-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-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-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-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: ๐ผ๐ฆ Publish x64-tmks | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: x64-tmks | |
| path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ | |
| include-hidden-files: true | |
| job8: | |
| name: build openhcl [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3 | |
| - 1ES.ImageOverride=ubuntu2404-amd64-256gb | |
| - JobId=job8-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 8 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 8 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 8 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 8 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 8 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update | |
| shell: bash | |
| - name: checking if packages need to be installed | |
| run: flowey e 8 flowey_lib_common::install_dist_pkg 0 | |
| shell: bash | |
| - name: installing packages | |
| run: flowey e 8 flowey_lib_common::install_dist_pkg 1 | |
| shell: bash | |
| - name: create gh-release-download cache dir | |
| run: flowey e 8 flowey_lib_common::download_gh_release 0 | |
| shell: bash | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 8 flowey_lib_common::cache 0 | |
| flowey v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 | |
| flowey v 8 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar1 }} | |
| path: ${{ env.floweyvar2 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| 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 mu_msvm package (aarch64) | |
| run: flowey e 8 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| 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: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 8 flowey_lib_common::git_checkout 0 | |
| flowey v 8 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3 | |
| flowey v 8 'flowey_lib_common::git_checkout: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 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: unpack protoc | |
| run: |- | |
| flowey e 8 flowey_lib_common::resolve_protoc 0 | |
| flowey e 8 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| shell: bash | |
| - name: symlink protoc | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 0 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 2 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 3 | |
| shell: bash | |
| - name: cargo build openhcl_boot | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 1 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 4 | |
| 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 5 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_boot 0 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::resolve_openhcl_kernel_package 1 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
| shell: bash | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 8 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| 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 1 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 2 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 6 | |
| flowey e 8 flowey_lib_hvlite::build_openvmm_hcl 0 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::run_split_debug_info 1 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_initrd 1 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 4 | |
| 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_lib_hvlite::build_openhcl_igvm_from_recipe 20 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::run_igvmfilegen 1 | |
| flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
| shell: bash | |
| - name: extract and resolve kernel package | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 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::build_openhcl_igvm_from_recipe 3 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 | |
| shell: bash | |
| - name: building openhcl initrd | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_initrd 0 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 | |
| shell: bash | |
| - name: building igvm file | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::run_igvmfilegen 0 | |
| flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0 | |
| flowey e 8 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm files to artifact dir | |
| run: |- | |
| flowey e 8 flowey_lib_common::copy_to_artifact_dir 1 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 | |
| flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 | |
| flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
| flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1 | |
| flowey e 8 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0 | |
| shell: bash | |
| - name: copying OpenHCL igvm extras to artifact dir | |
| run: |- | |
| flowey e 8 flowey_lib_common::copy_to_artifact_dir 0 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 2 | |
| shell: bash | |
| - name: cargo build pipette | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 3 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 7 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::run_split_debug_info 3 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 8 | |
| flowey e 8 flowey_lib_hvlite::build_pipette 0 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 0 | |
| flowey e 8 flowey_lib_hvlite::init_cross_build 3 | |
| shell: bash | |
| - name: cargo build tmk_vmm | |
| run: |- | |
| flowey e 8 flowey_lib_common::run_cargo_build 4 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 9 | |
| shell: bash | |
| - name: split debug symbols | |
| run: |- | |
| flowey e 8 flowey_lib_hvlite::run_split_debug_info 4 | |
| flowey e 8 flowey_lib_hvlite::run_cargo_build 10 | |
| flowey e 8 flowey_lib_hvlite::build_tmk_vmm 0 | |
| flowey e 8 flowey_core::pipeline::artifact::publish 1 | |
| shell: bash | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 8 flowey_lib_common::cache 3 | |
| shell: bash | |
| - 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-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 | |
| job9: | |
| name: verify openhcl binary size [aarch64] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - name: ๐ผ๐ฆ Download artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| shell: bash | |
| name: ๐ผ๐ฆ Add flowey to PATH | |
| - name: ๐ผ๐ซ Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 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 | |
| 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: 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 floweyvar2 | |
| 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.floweyvar2 }} | |
| 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 | |
| flowey e 9 flowey_lib_hvlite::cfg_openvmm_magicpath 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: 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 floweyvar5 | |
| flowey v 9 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6 | |
| shell: bash | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar5 }} | |
| path: ${{ env.floweyvar6 }} | |
| 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 openvmm-deps archive | |
| run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| shell: bash | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 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: unpack protoc | |
| run: flowey e 9 flowey_lib_common::resolve_protoc 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 0 | |
| shell: bash | |
| - name: cargo build openvmm_hcl | |
| 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 0 | |
| flowey e 9 flowey_lib_hvlite::run_cargo_build 1 | |
| flowey e 9 flowey_lib_hvlite::build_openvmm_hcl 0 | |
| shell: bash | |
| - name: collect openvmm_hcl files for analysis | |
| run: |- | |
| flowey e 9 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 1 | |
| flowey v 9 'flowey_lib_hvlite::_jobs::check_openvmm_hcl_size:8:flowey_lib_hvlite/src/_jobs/check_openvmm_hcl_size.rs:129:27' --is-raw-string write-to-env github floweyvar1 | |
| shell: bash | |
| - id: flowey_lib_hvlite___jobs__check_openvmm_hcl_size__2 | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: aarch64_openvmm_hcl_for_size_analysis | |
| path: ${{ env.floweyvar1 }} | |
| name: publish openvmm_hcl for analysis | |
| - name: cargo build xtask | |
| run: |- | |
| flowey e 9 flowey_lib_hvlite::init_cross_build 1 | |
| 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 1 | |
| flowey e 9 flowey_lib_hvlite::run_cargo_build 3 | |
| flowey e 9 flowey_lib_hvlite::build_xtask 0 | |
| shell: bash | |
| - name: create gh cache dir | |
| run: flowey e 9 flowey_lib_common::download_gh_cli 0 | |
| 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 floweyvar3 | |
| flowey v 9 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4 | |
| shell: bash | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@v5 | |
| with: | |
| key: ${{ env.floweyvar3 }} | |
| path: ${{ env.floweyvar4 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| 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_gh_cli 1 | |
| flowey v 9 '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 9 flowey_lib_common::use_gh_cli 0 | |
| shell: bash | |
| - name: get merge commit | |
| run: flowey e 9 flowey_lib_common::git_merge_commit 0 | |
| shell: bash | |
| - name: get action id by commit | |
| run: |- | |
| flowey e 9 flowey_lib_common::gh_workflow_id 0 | |
| flowey e 9 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 0 | |
| shell: bash | |
| - name: download artifacts from github actions run | |
| run: flowey e 9 flowey_lib_common::download_gh_artifact 0 | |
| shell: bash | |
| - name: binary size comparison | |
| run: flowey e 9 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 3 | |
| shell: bash | |
| - name: 'validate cache entry: gh-cli' | |
| 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 |