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