loader: update the page table builder to be no_std #394
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: xtask fmt (windows) | |
runs-on: windows-latest | |
permissions: | |
contents: read | |
id-token: write | |
needs: | |
- job1 | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 0 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey.exe v 0 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey.exe v 0 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey.exe e 0 flowey_lib_common::git_checkout 0 | |
flowey.exe v 0 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey.exe v 0 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar1 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey.exe v 0 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 0 flowey_lib_common::git_checkout 3 | |
flowey.exe e 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey.exe e 0 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey.exe e 0 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey.exe e 0 flowey_lib_common::install_rust 2 | |
flowey.exe e 0 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey.exe e 0 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 0 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 0 flowey_lib_common::cache 0 | |
flowey.exe v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
flowey.exe v 0 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey.exe v 0 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey.exe e 0 flowey_lib_common::cache 2 | |
flowey.exe e 0 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack protoc | |
run: |- | |
flowey.exe e 0 flowey_lib_common::download_protoc 0 | |
flowey.exe e 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey.exe e 0 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey.exe e 0 flowey_lib_hvlite::init_cross_build 0 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey.exe e 0 flowey_lib_common::run_cargo_build 0 | |
flowey.exe e 0 flowey_lib_hvlite::run_cargo_build 0 | |
flowey.exe e 0 flowey_lib_hvlite::build_xtask 0 | |
shell: bash | |
- name: run xtask fmt | |
run: flowey.exe e 0 flowey_lib_hvlite::_jobs::check_xtask_fmt 0 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 0 flowey_lib_common::cache 3 | |
shell: bash | |
job1: | |
name: xtask fmt (linux) | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 1 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey v 1 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey v 1 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey e 1 flowey_lib_common::git_checkout 0 | |
flowey v 1 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey v 1 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar1 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey v 1 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey e 1 flowey_lib_common::git_checkout 3 | |
flowey e 1 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey e 1 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey e 1 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey e 1 flowey_lib_common::install_rust 2 | |
flowey e 1 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey e 1 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey e 1 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 1 flowey_lib_common::cache 0 | |
flowey v 1 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
flowey v 1 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey v 1 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey e 1 flowey_lib_common::cache 2 | |
flowey e 1 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: checking if packages need to be installed | |
run: flowey e 1 flowey_lib_common::install_dist_pkg 0 | |
shell: bash | |
- name: installing packages | |
run: flowey e 1 flowey_lib_common::install_dist_pkg 1 | |
shell: bash | |
- name: unpack protoc | |
run: |- | |
flowey e 1 flowey_lib_common::download_protoc 0 | |
flowey e 1 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey e 1 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey e 1 flowey_lib_hvlite::init_cross_build 0 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey e 1 flowey_lib_common::run_cargo_build 0 | |
flowey e 1 flowey_lib_hvlite::run_cargo_build 0 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 1 flowey_lib_hvlite::run_split_debug_info 0 | |
flowey e 1 flowey_lib_hvlite::run_cargo_build 1 | |
flowey e 1 flowey_lib_hvlite::build_xtask 0 | |
shell: bash | |
- name: run xtask fmt | |
run: flowey e 1 flowey_lib_hvlite::_jobs::check_xtask_fmt 0 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey e 1 flowey_lib_common::cache 3 | |
shell: bash | |
job10: | |
name: clippy [windows], unit tests [x64-windows] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Win-Pool-WestUS3 | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 10 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey.exe v 10 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey.exe v 10 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey.exe e 10 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey.exe e 10 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey.exe e 10 flowey_lib_common::install_rust 2 | |
flowey.exe e 10 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey.exe e 10 flowey_lib_common::git_checkout 0 | |
flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 | |
flowey.exe v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar6 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey.exe v 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.exe e 10 flowey_lib_common::git_checkout 3 | |
flowey.exe e 10 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey.exe e 10 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 10 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 10 flowey_lib_common::cache 4 | |
flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey.exe v 10 '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 10 flowey_lib_common::cache 6 | |
flowey.exe e 10 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack protoc | |
run: |- | |
flowey.exe e 10 flowey_lib_common::download_protoc 0 | |
flowey.exe e 10 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey.exe e 10 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey.exe e 10 flowey_lib_hvlite::init_cross_build 1 | |
flowey.exe e 10 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey.exe e 10 flowey_lib_common::run_cargo_build 0 | |
flowey.exe e 10 flowey_lib_hvlite::run_cargo_build 0 | |
flowey.exe e 10 flowey_lib_hvlite::build_xtask 0 | |
shell: bash | |
- name: determine clippy exclusions | |
run: flowey.exe e 10 flowey_lib_hvlite::_jobs::check_clippy 1 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.x64.zip | |
run: flowey.exe e 10 flowey_lib_hvlite::download_lxutil 0 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.AARCH64.zip | |
run: flowey.exe e 10 flowey_lib_hvlite::download_lxutil 1 | |
shell: bash | |
- name: move lxutil.dll into its magic folder | |
run: flowey.exe e 10 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 0 | |
shell: bash | |
- name: cargo clippy | |
run: |- | |
flowey.exe e 10 flowey_lib_common::run_cargo_clippy 0 | |
flowey.exe e 10 flowey_lib_hvlite::init_cross_build 0 | |
flowey.exe e 10 flowey_lib_hvlite::init_cross_build 4 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey.exe e 10 flowey_lib_common::run_cargo_build 1 | |
flowey.exe e 10 flowey_lib_hvlite::run_cargo_build 1 | |
flowey.exe e 10 flowey_lib_hvlite::build_xtask 1 | |
shell: bash | |
- name: determine clippy exclusions | |
run: flowey.exe e 10 flowey_lib_hvlite::_jobs::check_clippy 0 | |
shell: bash | |
- name: cargo clippy | |
run: flowey.exe e 10 flowey_lib_common::run_cargo_clippy 1 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey.exe e 10 flowey_lib_common::download_cargo_nextest 0 | |
flowey.exe e 10 flowey_lib_common::download_cargo_nextest 1 | |
flowey.exe e 10 flowey_lib_common::download_cargo_nextest 2 | |
flowey.exe e 10 flowey_lib_common::download_cargo_nextest 3 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 10 flowey_lib_common::cache 0 | |
flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
run: |- | |
flowey.exe 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.exe e 10 flowey_lib_common::cache 2 | |
flowey.exe e 10 flowey_lib_common::download_cargo_nextest 4 | |
shell: bash | |
- name: report $CARGO_HOME | |
run: flowey.exe e 10 flowey_lib_common::install_rust 3 | |
shell: bash | |
- name: installing cargo-nextest | |
run: |- | |
flowey.exe e 10 flowey_lib_common::install_cargo_nextest 0 | |
flowey.exe e 10 flowey_lib_hvlite::init_cross_build 5 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey.exe e 10 flowey_lib_common::run_cargo_build 2 | |
flowey.exe e 10 flowey_lib_hvlite::run_cargo_build 2 | |
flowey.exe e 10 flowey_lib_hvlite::build_xtask 2 | |
shell: bash | |
- name: determine unit test exclusions | |
run: |- | |
flowey.exe e 10 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
flowey.exe e 10 flowey_lib_hvlite::init_cross_build 2 | |
flowey.exe e 10 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
shell: bash | |
- name: generate nextest command | |
run: flowey.exe e 10 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
shell: bash | |
- name: run 'unit-tests' nextest tests | |
run: |- | |
flowey.exe e 10 flowey_lib_common::run_cargo_nextest_run 0 | |
flowey.exe e 10 flowey_lib_common::run_cargo_nextest_run 1 | |
flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
flowey.exe e 10 flowey_lib_common::publish_test_results 0 | |
flowey.exe e 10 flowey_lib_common::publish_test_results 1 | |
flowey.exe e 10 flowey_lib_common::publish_test_results 2 | |
flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-unit-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: x64-windows-unit-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
shell: bash | |
- name: run doctests for x86_64-pc-windows-msvc | |
run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey.exe e 10 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 10 flowey_lib_common::cache 7 | |
shell: bash | |
job11: | |
name: clippy [linux, macos], unit tests [x64-linux] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 11 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey v 11 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey v 11 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey e 11 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey e 11 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey e 11 flowey_lib_common::install_rust 2 | |
flowey e 11 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: checking if packages need to be installed | |
run: flowey e 11 flowey_lib_common::install_dist_pkg 0 | |
shell: bash | |
- name: installing packages | |
run: flowey e 11 flowey_lib_common::install_dist_pkg 1 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey e 11 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 11 flowey_lib_common::cache 4 | |
flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey v 11 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
EOF | |
flowey e 11 flowey_lib_common::cache 6 | |
flowey e 11 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.x64.zip | |
run: flowey e 11 flowey_lib_hvlite::download_lxutil 0 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.AARCH64.zip | |
run: flowey e 11 flowey_lib_hvlite::download_lxutil 1 | |
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:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 | |
flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar6 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey v 11 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey e 11 flowey_lib_common::git_checkout 3 | |
flowey e 11 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey e 11 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: move lxutil.dll into its magic folder | |
run: flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey e 11 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: unpack protoc | |
run: flowey e 11 flowey_lib_common::download_protoc 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey e 11 flowey_lib_hvlite::init_cross_build 1 | |
flowey e 11 flowey_lib_hvlite::init_cross_build 6 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey e 11 flowey_lib_common::run_cargo_build 3 | |
flowey e 11 flowey_lib_hvlite::run_cargo_build 2 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 11 flowey_lib_hvlite::run_split_debug_info 0 | |
flowey e 11 flowey_lib_hvlite::run_cargo_build 3 | |
flowey e 11 flowey_lib_hvlite::build_xtask 1 | |
shell: bash | |
- name: determine clippy exclusions | |
run: flowey e 11 flowey_lib_hvlite::_jobs::check_clippy 2 | |
shell: bash | |
- name: cargo clippy | |
run: |- | |
flowey e 11 flowey_lib_common::run_cargo_clippy 1 | |
flowey e 11 flowey_lib_hvlite::init_cross_build 0 | |
flowey e 11 flowey_lib_hvlite::init_cross_build 5 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey e 11 flowey_lib_common::run_cargo_build 2 | |
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 3 | |
flowey e 11 flowey_lib_hvlite::run_cargo_build 1 | |
flowey e 11 flowey_lib_hvlite::build_xtask 0 | |
shell: bash | |
- name: determine clippy exclusions | |
run: flowey e 11 flowey_lib_hvlite::_jobs::check_clippy 1 | |
shell: bash | |
- name: cargo clippy | |
run: |- | |
flowey e 11 flowey_lib_common::run_cargo_clippy 0 | |
flowey e 11 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey e 11 flowey_lib_common::run_cargo_build 0 | |
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 1 | |
flowey e 11 flowey_lib_hvlite::run_cargo_build 5 | |
flowey e 11 flowey_lib_hvlite::build_xtask 2 | |
shell: bash | |
- name: determine clippy exclusions | |
run: flowey e 11 flowey_lib_hvlite::_jobs::check_clippy 0 | |
shell: bash | |
- name: cargo clippy | |
run: flowey e 11 flowey_lib_common::run_cargo_clippy 2 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey e 11 flowey_lib_common::download_cargo_nextest 0 | |
flowey e 11 flowey_lib_common::download_cargo_nextest 1 | |
flowey e 11 flowey_lib_common::download_cargo_nextest 2 | |
flowey e 11 flowey_lib_common::download_cargo_nextest 3 | |
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 floweyvar2 | |
flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
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_cargo_nextest 4 | |
shell: bash | |
- name: report $CARGO_HOME | |
run: flowey e 11 flowey_lib_common::install_rust 3 | |
shell: bash | |
- name: installing cargo-nextest | |
run: |- | |
flowey e 11 flowey_lib_common::install_cargo_nextest 0 | |
flowey e 11 flowey_lib_hvlite::init_cross_build 4 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey e 11 flowey_lib_common::run_cargo_build 1 | |
flowey e 11 flowey_lib_hvlite::run_cargo_build 6 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 11 flowey_lib_hvlite::run_split_debug_info 2 | |
flowey e 11 flowey_lib_hvlite::run_cargo_build 7 | |
flowey e 11 flowey_lib_hvlite::build_xtask 3 | |
shell: bash | |
- name: determine unit test exclusions | |
run: |- | |
flowey e 11 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
flowey e 11 flowey_lib_hvlite::init_cross_build 2 | |
flowey e 11 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
shell: bash | |
- name: generate nextest command | |
run: flowey e 11 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
shell: bash | |
- name: run 'unit-tests' nextest tests | |
run: |- | |
flowey e 11 flowey_lib_common::run_cargo_nextest_run 0 | |
flowey e 11 flowey_lib_common::run_cargo_nextest_run 1 | |
flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
flowey e 11 flowey_lib_common::publish_test_results 0 | |
flowey e 11 flowey_lib_common::publish_test_results 1 | |
flowey e 11 flowey_lib_common::publish_test_results 2 | |
flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-unit-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: x64-linux-unit-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
shell: bash | |
- name: run doctests for x86_64-unknown-linux-gnu | |
run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey e 11 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey e 11 flowey_lib_common::cache 7 | |
shell: bash | |
job12: | |
name: clippy [linux-musl, misc nostd], unit tests [x64-linux-musl] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 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 | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey e 12 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey e 12 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey e 12 flowey_lib_common::install_rust 2 | |
flowey e 12 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey e 12 flowey_lib_common::git_checkout 0 | |
flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 | |
flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar6 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey v 12 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey e 12 flowey_lib_common::git_checkout 3 | |
flowey e 12 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey e 12 flowey_lib_hvlite::cfg_openvmm_magicpath 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: 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 4 | |
flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey v 12 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
EOF | |
flowey e 12 flowey_lib_common::cache 6 | |
flowey e 12 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey e 12 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: extract X64 sysroot.tar.gz | |
run: flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 1 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.x64.zip | |
run: flowey e 12 flowey_lib_hvlite::download_lxutil 0 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.AARCH64.zip | |
run: flowey e 12 flowey_lib_hvlite::download_lxutil 1 | |
shell: bash | |
- name: move lxutil.dll into its magic folder | |
run: flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 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: unpack protoc | |
run: flowey e 12 flowey_lib_common::download_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 4 | |
flowey e 12 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey e 12 flowey_lib_common::run_cargo_build 1 | |
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 2 | |
flowey e 12 flowey_lib_hvlite::run_cargo_build 1 | |
flowey e 12 flowey_lib_hvlite::build_xtask 0 | |
shell: bash | |
- name: determine clippy exclusions | |
run: flowey e 12 flowey_lib_hvlite::_jobs::check_clippy 1 | |
shell: bash | |
- name: cargo clippy | |
run: flowey e 12 flowey_lib_common::run_cargo_clippy 0 | |
shell: bash | |
- name: cargo clippy | |
run: flowey e 12 flowey_lib_common::run_cargo_clippy 2 | |
shell: bash | |
- name: cargo clippy | |
run: flowey e 12 flowey_lib_common::run_cargo_clippy 1 | |
shell: bash | |
- name: extract Aarch64 sysroot.tar.gz | |
run: |- | |
flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
flowey e 12 flowey_lib_hvlite::init_cross_build 0 | |
shell: bash | |
- name: cargo clippy | |
run: |- | |
flowey e 12 flowey_lib_common::run_cargo_clippy 4 | |
flowey e 12 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey e 12 flowey_lib_common::run_cargo_build 2 | |
flowey e 12 flowey_lib_hvlite::run_cargo_build 2 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 12 flowey_lib_hvlite::run_split_debug_info 0 | |
flowey e 12 flowey_lib_hvlite::run_cargo_build 3 | |
flowey e 12 flowey_lib_hvlite::build_xtask 1 | |
shell: bash | |
- name: determine clippy exclusions | |
run: flowey e 12 flowey_lib_hvlite::_jobs::check_clippy 0 | |
shell: bash | |
- name: cargo clippy | |
run: flowey e 12 flowey_lib_common::run_cargo_clippy 3 | |
shell: bash | |
- name: cargo clippy | |
run: flowey e 12 flowey_lib_common::run_cargo_clippy 5 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey e 12 flowey_lib_common::download_cargo_nextest 0 | |
flowey e 12 flowey_lib_common::download_cargo_nextest 1 | |
flowey e 12 flowey_lib_common::download_cargo_nextest 2 | |
flowey e 12 flowey_lib_common::download_cargo_nextest 3 | |
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 floweyvar2 | |
flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
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_cargo_nextest 4 | |
shell: bash | |
- name: report $CARGO_HOME | |
run: flowey e 12 flowey_lib_common::install_rust 3 | |
shell: bash | |
- name: installing cargo-nextest | |
run: |- | |
flowey e 12 flowey_lib_common::install_cargo_nextest 0 | |
flowey e 12 flowey_lib_hvlite::init_cross_build 1 | |
shell: bash | |
- name: cargo build xtask | |
run: |- | |
flowey e 12 flowey_lib_common::run_cargo_build 0 | |
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 1 | |
flowey e 12 flowey_lib_hvlite::run_cargo_build 5 | |
flowey e 12 flowey_lib_hvlite::build_xtask 2 | |
shell: bash | |
- name: determine unit test exclusions | |
run: |- | |
flowey e 12 flowey_lib_hvlite::build_nextest_unit_tests 0 | |
flowey e 12 flowey_lib_hvlite::init_cross_build 5 | |
flowey e 12 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
shell: bash | |
- name: generate nextest command | |
run: flowey e 12 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
shell: bash | |
- name: run 'unit-tests' nextest tests | |
run: |- | |
flowey e 12 flowey_lib_common::run_cargo_nextest_run 0 | |
flowey e 12 flowey_lib_common::run_cargo_nextest_run 1 | |
flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
flowey e 12 flowey_lib_common::publish_test_results 0 | |
flowey e 12 flowey_lib_common::publish_test_results 1 | |
flowey e 12 flowey_lib_common::publish_test_results 2 | |
flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-musl-unit-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: x64-linux-musl-unit-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
shell: bash | |
- name: run doctests for x86_64-unknown-linux-musl | |
run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey e 12 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey e 12 flowey_lib_common::cache 7 | |
shell: bash | |
job13: | |
name: unit tests [aarch64-windows] | |
runs-on: | |
- self-hosted | |
- Windows | |
- ARM64 | |
- Baremetal | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 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: create cargo-nextest cache dir | |
run: |- | |
flowey.exe e 13 flowey_lib_common::cfg_cargo_common_flags 0 | |
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 floweyvar2 | |
flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
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: 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: 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 | |
shell: bash | |
- name: detect active toolchain | |
run: flowey.exe e 13 flowey_lib_common::install_rust 2 | |
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:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6 | |
flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar6 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey.exe v 13 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 13 flowey_lib_common::git_checkout 3 | |
flowey.exe e 13 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey.exe e 13 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 13 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 13 flowey_lib_common::cache 4 | |
flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
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::download_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 1 | |
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 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 0 | |
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 0 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.AARCH64.zip | |
run: flowey.exe e 13 flowey_lib_hvlite::download_lxutil 0 | |
shell: bash | |
- name: move lxutil.dll into its magic folder | |
run: flowey.exe e 13 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 0 | |
shell: bash | |
- name: run 'unit-tests' 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::_jobs::build_and_run_nextest_unit_tests 0 | |
flowey.exe e 13 flowey_lib_common::publish_test_results 0 | |
flowey.exe e 13 flowey_lib_common::publish_test_results 1 | |
flowey.exe e 13 flowey_lib_common::publish_test_results 2 | |
flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-unit-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: aarch64-windows-unit-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1 | |
shell: bash | |
- name: run doctests for aarch64-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: run vmm-tests [x64-windows-intel] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Win-Pool-Intel-WestUS3 | |
- 1ES.ImageOverride=HvLite-CI-Win-Ge-Image-256GB | |
permissions: | |
contents: read | |
id-token: write | |
needs: | |
- job5 | |
- job7 | |
- 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@v4 | |
with: | |
pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-10,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-tmk_vmm,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
path: ${{ runner.temp }}/used_artifacts/ | |
- run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-10" >> $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-10/flowey.exe | |
echo '"debug"' | flowey.exe v 14 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey.exe v 14 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey.exe v 14 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 14 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 14 'artifact_use_from_x64-tmks' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 14 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 14 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 14 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 14 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
shell: bash | |
- name: creating new test content dir | |
run: |- | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 4 | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 5 | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 1 | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 0 | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 7 | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 2 | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 3 | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 8 | |
flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: resolve OpenHCL igvm artifact | |
run: flowey.exe e 14 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
shell: bash | |
- name: create azcopy cache dir | |
run: flowey.exe e 14 flowey_lib_common::download_azcopy 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 14 flowey_lib_common::cache 0 | |
flowey.exe v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey.exe v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: azcopy' | |
- name: installing azcopy | |
run: |- | |
flowey.exe 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.exe e 14 flowey_lib_common::cache 2 | |
flowey.exe e 14 flowey_lib_common::download_azcopy 1 | |
shell: bash | |
- name: calculating required VMM tests disk images | |
run: flowey.exe e 14 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
shell: bash | |
- name: downloading VMM test disk images | |
run: |- | |
flowey.exe e 14 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
flowey.exe e 14 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
shell: bash | |
- name: create gh cache dir | |
run: flowey.exe e 14 flowey_lib_common::download_gh_cli 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 14 flowey_lib_common::cache 8 | |
flowey.exe v 14 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
flowey.exe v 14 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
shell: bash | |
- id: flowey_lib_common__cache__9 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar8 }} | |
path: ${{ env.floweyvar9 }} | |
name: 'Restore cache: gh-cli' | |
- name: installing gh | |
run: |- | |
flowey.exe v 14 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
EOF | |
flowey.exe e 14 flowey_lib_common::cache 10 | |
flowey.exe e 14 flowey_lib_common::download_gh_cli 1 | |
flowey.exe v 14 '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 14 flowey_lib_common::use_gh_cli 0 | |
shell: bash | |
- name: get latest completed action id | |
run: flowey.exe e 14 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
shell: bash | |
- name: download artifacts from github actions run | |
run: flowey.exe e 14 flowey_lib_common::download_gh_artifact 0 | |
shell: bash | |
- name: write to directory variables | |
run: flowey.exe e 14 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 14 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 14 flowey_lib_common::cache 12 | |
flowey.exe v 14 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 | |
flowey.exe v 14 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 | |
shell: bash | |
- id: flowey_lib_common__cache__13 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar10 }} | |
path: ${{ env.floweyvar11 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey.exe v 14 'flowey_lib_common::cache:28:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__13.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__13.outputs.cache-hit }} | |
EOF | |
flowey.exe e 14 flowey_lib_common::cache 14 | |
flowey.exe e 14 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey.exe e 14 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: unpack mu_msvm package (x64) | |
run: flowey.exe e 14 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
shell: bash | |
- name: setting up vmm_tests env | |
run: flowey.exe e 14 flowey_lib_hvlite::init_vmm_tests_env 0 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey.exe e 14 flowey_lib_common::download_cargo_nextest 0 | |
flowey.exe e 14 flowey_lib_common::download_cargo_nextest 1 | |
flowey.exe e 14 flowey_lib_common::download_cargo_nextest 2 | |
flowey.exe e 14 flowey_lib_common::download_cargo_nextest 3 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 14 flowey_lib_common::cache 4 | |
flowey.exe v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
flowey.exe v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar6 }} | |
path: ${{ env.floweyvar7 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
run: |- | |
flowey.exe v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
EOF | |
flowey.exe e 14 flowey_lib_common::cache 6 | |
flowey.exe e 14 flowey_lib_common::download_cargo_nextest 4 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey.exe e 14 flowey_lib_common::git_checkout 0 | |
flowey.exe v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 | |
flowey.exe v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
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 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.exe e 14 flowey_lib_common::git_checkout 3 | |
flowey.exe e 14 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey.exe e 14 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
flowey.exe e 14 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
flowey.exe e 14 flowey_core::pipeline::artifact::resolve 9 | |
flowey.exe e 14 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: generate nextest command | |
run: flowey.exe e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
shell: bash | |
- name: install vmm tests deps (windows) | |
run: flowey.exe e 14 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
shell: bash | |
- name: run 'vmm_tests' nextest tests | |
run: |- | |
flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 0 | |
flowey.exe e 14 flowey_lib_common::run_cargo_nextest_run 1 | |
flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
flowey.exe e 14 flowey_lib_common::publish_test_results 4 | |
flowey.exe e 14 flowey_lib_common::publish_test_results 5 | |
flowey.exe v 14 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
flowey.exe v 14 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__6 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-intel-vmm-tests-logs | |
path: ${{ env.floweyvar2 }} | |
name: 'publish test results: x64-windows-intel-vmm-tests (logs)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: 🦀 flowey rust steps | |
run: |- | |
flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
flowey.exe e 14 flowey_lib_common::publish_test_results 0 | |
flowey.exe e 14 flowey_lib_common::publish_test_results 1 | |
flowey.exe e 14 flowey_lib_common::publish_test_results 2 | |
flowey.exe v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey.exe v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-intel-vmm-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey.exe e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
shell: bash | |
- name: 'validate cache entry: azcopy' | |
run: flowey.exe e 14 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey.exe e 14 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 'validate cache entry: gh-cli' | |
run: flowey.exe e 14 flowey_lib_common::cache 11 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 14 flowey_lib_common::cache 15 | |
shell: bash | |
job15: | |
name: run vmm-tests [x64-windows-intel-tdx] | |
runs-on: | |
- self-hosted | |
- Windows | |
- X64 | |
- TDX | |
- Baremetal | |
permissions: | |
contents: read | |
id-token: write | |
needs: | |
- job5 | |
- job7 | |
- 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@v4 | |
with: | |
pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-10,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-tmk_vmm,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
path: ${{ runner.temp }}/used_artifacts/ | |
- run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-10" >> $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-10/flowey.exe | |
echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey.exe v 15 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 15 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 15 'artifact_use_from_x64-tmks' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 15 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 15 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 15 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 15 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 15 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 15 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
shell: bash | |
- name: creating new test content dir | |
run: |- | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 4 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 5 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 1 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 0 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 7 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 2 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 3 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 8 | |
flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: resolve OpenHCL igvm artifact | |
run: flowey.exe e 15 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
shell: bash | |
- name: create azcopy cache dir | |
run: flowey.exe e 15 flowey_lib_common::download_azcopy 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 15 flowey_lib_common::cache 0 | |
flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: azcopy' | |
- name: installing azcopy | |
run: |- | |
flowey.exe v 15 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey.exe e 15 flowey_lib_common::cache 2 | |
flowey.exe e 15 flowey_lib_common::download_azcopy 1 | |
shell: bash | |
- name: calculating required VMM tests disk images | |
run: flowey.exe e 15 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
shell: bash | |
- name: downloading VMM test disk images | |
run: |- | |
flowey.exe e 15 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
flowey.exe e 15 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
shell: bash | |
- name: create gh cache dir | |
run: flowey.exe e 15 flowey_lib_common::download_gh_cli 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 15 flowey_lib_common::cache 8 | |
flowey.exe v 15 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
flowey.exe v 15 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
shell: bash | |
- id: flowey_lib_common__cache__9 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar8 }} | |
path: ${{ env.floweyvar9 }} | |
name: 'Restore cache: gh-cli' | |
- name: installing gh | |
run: |- | |
flowey.exe v 15 '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 15 flowey_lib_common::cache 10 | |
flowey.exe e 15 flowey_lib_common::download_gh_cli 1 | |
flowey.exe v 15 '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 15 flowey_lib_common::use_gh_cli 0 | |
shell: bash | |
- name: get latest completed action id | |
run: flowey.exe e 15 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
shell: bash | |
- name: download artifacts from github actions run | |
run: flowey.exe e 15 flowey_lib_common::download_gh_artifact 0 | |
shell: bash | |
- name: write to directory variables | |
run: flowey.exe e 15 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 15 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 15 flowey_lib_common::cache 12 | |
flowey.exe v 15 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 | |
flowey.exe v 15 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 | |
shell: bash | |
- id: flowey_lib_common__cache__13 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar10 }} | |
path: ${{ env.floweyvar11 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey.exe v 15 'flowey_lib_common::cache:28:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__13.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__13.outputs.cache-hit }} | |
EOF | |
flowey.exe e 15 flowey_lib_common::cache 14 | |
flowey.exe e 15 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey.exe e 15 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: unpack mu_msvm package (x64) | |
run: flowey.exe e 15 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
shell: bash | |
- name: setting up vmm_tests env | |
run: flowey.exe e 15 flowey_lib_hvlite::init_vmm_tests_env 0 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey.exe e 15 flowey_lib_common::download_cargo_nextest 0 | |
flowey.exe e 15 flowey_lib_common::download_cargo_nextest 1 | |
flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 | |
flowey.exe e 15 flowey_lib_common::download_cargo_nextest 3 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 15 flowey_lib_common::cache 4 | |
flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar6 }} | |
path: ${{ env.floweyvar7 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
run: |- | |
flowey.exe v 15 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
EOF | |
flowey.exe e 15 flowey_lib_common::cache 6 | |
flowey.exe e 15 flowey_lib_common::download_cargo_nextest 4 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey.exe e 15 flowey_lib_common::git_checkout 0 | |
flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 | |
flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
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 15 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 15 flowey_lib_common::git_checkout 3 | |
flowey.exe e 15 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 9 | |
flowey.exe e 15 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: generate nextest command | |
run: flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
shell: bash | |
- name: install vmm tests deps (windows) | |
run: |- | |
flowey.exe e 15 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
flowey.exe e 15 flowey_core::pipeline::artifact::resolve 6 | |
shell: bash | |
- name: running vmm_test prep_steps | |
run: flowey.exe e 15 flowey_lib_hvlite::run_prep_steps 0 | |
shell: bash | |
- name: run 'vmm_tests' nextest tests | |
run: |- | |
flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 0 | |
flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 1 | |
flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
flowey.exe e 15 flowey_lib_common::publish_test_results 4 | |
flowey.exe e 15 flowey_lib_common::publish_test_results 5 | |
flowey.exe v 15 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
flowey.exe v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__6 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-intel-tdx-vmm-tests-logs | |
path: ${{ env.floweyvar2 }} | |
name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: 🦀 flowey rust steps | |
run: |- | |
flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
flowey.exe e 15 flowey_lib_common::publish_test_results 0 | |
flowey.exe e 15 flowey_lib_common::publish_test_results 1 | |
flowey.exe e 15 flowey_lib_common::publish_test_results 2 | |
flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-intel-tdx-vmm-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey.exe e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
shell: bash | |
- name: 'validate cache entry: azcopy' | |
run: flowey.exe e 15 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey.exe e 15 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 'validate cache entry: gh-cli' | |
run: flowey.exe e 15 flowey_lib_common::cache 11 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 15 flowey_lib_common::cache 15 | |
shell: bash | |
job16: | |
name: run vmm-tests [x64-windows-amd] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Win-Pool-WestUS3 | |
- 1ES.ImageOverride=HvLite-CI-Win-Ge-Image-256GB | |
permissions: | |
contents: read | |
id-token: write | |
needs: | |
- job5 | |
- job7 | |
- 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@v4 | |
with: | |
pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-10,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-tmk_vmm,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
path: ${{ runner.temp }}/used_artifacts/ | |
- run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-10" >> $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-10/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 | |
echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 16 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 16 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 16 'artifact_use_from_x64-tmks' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 16 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 16 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 16 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 16 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 16 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
shell: bash | |
- name: creating new test content dir | |
run: |- | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 4 | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 5 | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 1 | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 0 | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 7 | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 2 | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 3 | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 8 | |
flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: resolve OpenHCL igvm artifact | |
run: flowey.exe e 16 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
shell: bash | |
- name: create azcopy cache dir | |
run: flowey.exe e 16 flowey_lib_common::download_azcopy 0 | |
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@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: azcopy' | |
- name: installing azcopy | |
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_azcopy 1 | |
shell: bash | |
- name: calculating required VMM tests disk images | |
run: flowey.exe e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
shell: bash | |
- name: downloading VMM test disk images | |
run: |- | |
flowey.exe e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
flowey.exe e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
shell: bash | |
- name: create gh cache dir | |
run: flowey.exe e 16 flowey_lib_common::download_gh_cli 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 16 flowey_lib_common::cache 8 | |
flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
shell: bash | |
- id: flowey_lib_common__cache__9 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar8 }} | |
path: ${{ env.floweyvar9 }} | |
name: 'Restore cache: gh-cli' | |
- name: installing gh | |
run: |- | |
flowey.exe v 16 '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 16 flowey_lib_common::cache 10 | |
flowey.exe e 16 flowey_lib_common::download_gh_cli 1 | |
flowey.exe v 16 '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 16 flowey_lib_common::use_gh_cli 0 | |
shell: bash | |
- name: get latest completed action id | |
run: flowey.exe e 16 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
shell: bash | |
- name: download artifacts from github actions run | |
run: flowey.exe e 16 flowey_lib_common::download_gh_artifact 0 | |
shell: bash | |
- name: write to directory variables | |
run: flowey.exe e 16 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 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 12 | |
flowey.exe v 16 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 | |
flowey.exe v 16 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 | |
shell: bash | |
- id: flowey_lib_common__cache__13 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar10 }} | |
path: ${{ env.floweyvar11 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey.exe v 16 'flowey_lib_common::cache:28:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__13.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__13.outputs.cache-hit }} | |
EOF | |
flowey.exe e 16 flowey_lib_common::cache 14 | |
flowey.exe e 16 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey.exe e 16 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: unpack mu_msvm package (x64) | |
run: flowey.exe e 16 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
shell: bash | |
- name: setting up vmm_tests env | |
run: flowey.exe e 16 flowey_lib_hvlite::init_vmm_tests_env 0 | |
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 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@v4 | |
with: | |
key: ${{ env.floweyvar6 }} | |
path: ${{ env.floweyvar7 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
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_cargo_nextest 4 | |
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:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 | |
flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
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 16 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 16 flowey_lib_common::git_checkout 3 | |
flowey.exe e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
flowey.exe e 16 flowey_core::pipeline::artifact::resolve 9 | |
flowey.exe e 16 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: generate nextest command | |
run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
shell: bash | |
- name: install vmm tests deps (windows) | |
run: flowey.exe e 16 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
shell: bash | |
- name: run 'vmm_tests' 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
flowey.exe e 16 flowey_lib_common::publish_test_results 4 | |
flowey.exe e 16 flowey_lib_common::publish_test_results 5 | |
flowey.exe v 16 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
flowey.exe v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__6 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-amd-vmm-tests-logs | |
path: ${{ env.floweyvar2 }} | |
name: 'publish test results: x64-windows-amd-vmm-tests (logs)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: 🦀 flowey rust steps | |
run: |- | |
flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
flowey.exe e 16 flowey_lib_common::publish_test_results 0 | |
flowey.exe e 16 flowey_lib_common::publish_test_results 1 | |
flowey.exe e 16 flowey_lib_common::publish_test_results 2 | |
flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-amd-vmm-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
shell: bash | |
- name: 'validate cache entry: azcopy' | |
run: flowey.exe e 16 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey.exe e 16 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 'validate cache entry: gh-cli' | |
run: flowey.exe e 16 flowey_lib_common::cache 11 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 16 flowey_lib_common::cache 15 | |
shell: bash | |
job17: | |
name: run vmm-tests [x64-windows-amd-snp] | |
runs-on: | |
- self-hosted | |
- Windows | |
- X64 | |
- SNP | |
- Baremetal | |
permissions: | |
contents: read | |
id-token: write | |
needs: | |
- job5 | |
- job7 | |
- 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@v4 | |
with: | |
pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-10,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-tmk_vmm,x64-windows-vmgstool,x64-windows-vmm-tests-archive}' | |
path: ${{ runner.temp }}/used_artifacts/ | |
- run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-10" >> $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-10/flowey.exe | |
echo '"debug"' | flowey.exe v 17 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey.exe v 17 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey.exe v 17 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 17 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 17 'artifact_use_from_x64-tmks' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 17 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 17 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 17 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 17 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 17 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
shell: bash | |
- name: creating new test content dir | |
run: |- | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 4 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 5 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 1 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 0 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 7 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 2 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 3 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 8 | |
flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: resolve OpenHCL igvm artifact | |
run: flowey.exe e 17 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
shell: bash | |
- name: create azcopy cache dir | |
run: flowey.exe e 17 flowey_lib_common::download_azcopy 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 17 flowey_lib_common::cache 0 | |
flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: azcopy' | |
- name: installing azcopy | |
run: |- | |
flowey.exe v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey.exe e 17 flowey_lib_common::cache 2 | |
flowey.exe e 17 flowey_lib_common::download_azcopy 1 | |
shell: bash | |
- name: calculating required VMM tests disk images | |
run: flowey.exe e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
shell: bash | |
- name: downloading VMM test disk images | |
run: |- | |
flowey.exe e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
flowey.exe e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
shell: bash | |
- name: create gh cache dir | |
run: flowey.exe e 17 flowey_lib_common::download_gh_cli 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 17 flowey_lib_common::cache 8 | |
flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
shell: bash | |
- id: flowey_lib_common__cache__9 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar8 }} | |
path: ${{ env.floweyvar9 }} | |
name: 'Restore cache: gh-cli' | |
- name: installing gh | |
run: |- | |
flowey.exe v 17 '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 17 flowey_lib_common::cache 10 | |
flowey.exe e 17 flowey_lib_common::download_gh_cli 1 | |
flowey.exe v 17 '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 17 flowey_lib_common::use_gh_cli 0 | |
shell: bash | |
- name: get latest completed action id | |
run: flowey.exe e 17 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
shell: bash | |
- name: download artifacts from github actions run | |
run: flowey.exe e 17 flowey_lib_common::download_gh_artifact 0 | |
shell: bash | |
- name: write to directory variables | |
run: flowey.exe e 17 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 17 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 17 flowey_lib_common::cache 12 | |
flowey.exe v 17 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 | |
flowey.exe v 17 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 | |
shell: bash | |
- id: flowey_lib_common__cache__13 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar10 }} | |
path: ${{ env.floweyvar11 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey.exe v 17 'flowey_lib_common::cache:28:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__13.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__13.outputs.cache-hit }} | |
EOF | |
flowey.exe e 17 flowey_lib_common::cache 14 | |
flowey.exe e 17 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey.exe e 17 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: unpack mu_msvm package (x64) | |
run: flowey.exe e 17 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
shell: bash | |
- name: setting up vmm_tests env | |
run: flowey.exe e 17 flowey_lib_hvlite::init_vmm_tests_env 0 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey.exe e 17 flowey_lib_common::download_cargo_nextest 0 | |
flowey.exe e 17 flowey_lib_common::download_cargo_nextest 1 | |
flowey.exe e 17 flowey_lib_common::download_cargo_nextest 2 | |
flowey.exe e 17 flowey_lib_common::download_cargo_nextest 3 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 17 flowey_lib_common::cache 4 | |
flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar6 }} | |
path: ${{ env.floweyvar7 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
run: |- | |
flowey.exe 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.exe e 17 flowey_lib_common::cache 6 | |
flowey.exe e 17 flowey_lib_common::download_cargo_nextest 4 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey.exe e 17 flowey_lib_common::git_checkout 0 | |
flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 | |
flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
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 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.exe e 17 flowey_lib_common::git_checkout 3 | |
flowey.exe e 17 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey.exe e 17 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
flowey.exe e 17 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 9 | |
flowey.exe e 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: generate nextest command | |
run: flowey.exe e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
shell: bash | |
- name: install vmm tests deps (windows) | |
run: |- | |
flowey.exe e 17 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
flowey.exe e 17 flowey_core::pipeline::artifact::resolve 6 | |
shell: bash | |
- name: running vmm_test prep_steps | |
run: flowey.exe e 17 flowey_lib_hvlite::run_prep_steps 0 | |
shell: bash | |
- name: run 'vmm_tests' nextest tests | |
run: |- | |
flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 | |
flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1 | |
flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
flowey.exe e 17 flowey_lib_common::publish_test_results 4 | |
flowey.exe e 17 flowey_lib_common::publish_test_results 5 | |
flowey.exe v 17 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
flowey.exe v 17 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__6 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-amd-snp-vmm-tests-logs | |
path: ${{ env.floweyvar2 }} | |
name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: 🦀 flowey rust steps | |
run: |- | |
flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
flowey.exe e 17 flowey_lib_common::publish_test_results 0 | |
flowey.exe e 17 flowey_lib_common::publish_test_results 1 | |
flowey.exe e 17 flowey_lib_common::publish_test_results 2 | |
flowey.exe v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-amd-snp-vmm-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
shell: bash | |
- name: 'validate cache entry: azcopy' | |
run: flowey.exe e 17 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey.exe e 17 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 'validate cache entry: gh-cli' | |
run: flowey.exe e 17 flowey_lib_common::cache 11 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 17 flowey_lib_common::cache 15 | |
shell: bash | |
job18: | |
name: run vmm-tests [x64-linux] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
permissions: | |
contents: read | |
id-token: write | |
needs: | |
- job5 | |
- job7 | |
- 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@v4 | |
with: | |
pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-openvmm,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-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-linux-uid-6/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 | |
echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 18 'artifact_use_from_x64-linux-openvmm' --is-raw-string update | |
echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 18 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update | |
echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 18 'artifact_use_from_x64-tmks' --is-raw-string update | |
echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
shell: bash | |
- name: creating new test content dir | |
run: |- | |
flowey e 18 flowey_core::pipeline::artifact::resolve 3 | |
flowey e 18 flowey_core::pipeline::artifact::resolve 6 | |
flowey e 18 flowey_core::pipeline::artifact::resolve 1 | |
flowey e 18 flowey_core::pipeline::artifact::resolve 0 | |
flowey e 18 flowey_core::pipeline::artifact::resolve 2 | |
flowey e 18 flowey_core::pipeline::artifact::resolve 5 | |
flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: create azcopy cache dir | |
run: flowey e 18 flowey_lib_common::download_azcopy 0 | |
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 floweyvar4 | |
flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: azcopy' | |
- name: checking if packages need to be installed | |
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::install_dist_pkg 0 | |
shell: bash | |
- name: installing packages | |
run: flowey e 18 flowey_lib_common::install_dist_pkg 1 | |
shell: bash | |
- name: installing azcopy | |
run: flowey e 18 flowey_lib_common::download_azcopy 1 | |
shell: bash | |
- name: calculating required VMM tests disk images | |
run: flowey e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
shell: bash | |
- name: downloading VMM test disk images | |
run: |- | |
flowey e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 | |
flowey e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
shell: bash | |
- name: create gh cache dir | |
run: flowey e 18 flowey_lib_common::download_gh_cli 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 18 flowey_lib_common::cache 8 | |
flowey v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8 | |
flowey v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9 | |
shell: bash | |
- id: flowey_lib_common__cache__9 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar8 }} | |
path: ${{ env.floweyvar9 }} | |
name: 'Restore cache: gh-cli' | |
- name: installing gh | |
run: |- | |
flowey v 18 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
EOF | |
flowey e 18 flowey_lib_common::cache 10 | |
flowey e 18 flowey_lib_common::download_gh_cli 1 | |
flowey v 18 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
${{ github.token }} | |
EOF | |
shell: bash | |
- name: setup gh cli | |
run: flowey e 18 flowey_lib_common::use_gh_cli 0 | |
shell: bash | |
- name: get latest completed action id | |
run: flowey e 18 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
shell: bash | |
- name: download artifacts from github actions run | |
run: flowey e 18 flowey_lib_common::download_gh_artifact 0 | |
shell: bash | |
- name: write to directory variables | |
run: flowey e 18 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 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 12 | |
flowey v 18 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 | |
flowey v 18 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 | |
shell: bash | |
- id: flowey_lib_common__cache__13 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar10 }} | |
path: ${{ env.floweyvar11 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey v 18 'flowey_lib_common::cache:28:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__13.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__13.outputs.cache-hit }} | |
EOF | |
flowey e 18 flowey_lib_common::cache 14 | |
flowey e 18 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey e 18 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: unpack mu_msvm package (x64) | |
run: flowey e 18 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
shell: bash | |
- name: setting up vmm_tests env | |
run: flowey e 18 flowey_lib_hvlite::init_vmm_tests_env 0 | |
shell: bash | |
- name: ensure /dev/kvm is accessible | |
run: flowey e 18 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey e 18 flowey_lib_common::download_cargo_nextest 0 | |
flowey e 18 flowey_lib_common::download_cargo_nextest 1 | |
flowey e 18 flowey_lib_common::download_cargo_nextest 2 | |
flowey e 18 flowey_lib_common::download_cargo_nextest 3 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 18 flowey_lib_common::cache 4 | |
flowey v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6 | |
flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar6 }} | |
path: ${{ env.floweyvar7 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
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_cargo_nextest 4 | |
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:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 | |
flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
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 18 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey e 18 flowey_lib_common::git_checkout 3 | |
flowey e 18 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
flowey e 18 flowey_core::pipeline::artifact::resolve 4 | |
flowey e 18 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1 | |
shell: bash | |
- name: generate nextest command | |
run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
shell: bash | |
- name: install vmm tests deps (linux) | |
run: flowey e 18 flowey_lib_hvlite::install_vmm_tests_deps 0 | |
shell: bash | |
- name: run 'vmm_tests' 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::_jobs::consume_and_test_nextest_vmm_tests_archive 1 | |
flowey e 18 flowey_lib_common::publish_test_results 4 | |
flowey e 18 flowey_lib_common::publish_test_results 5 | |
flowey v 18 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
flowey v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__6 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-vmm-tests-logs | |
path: ${{ env.floweyvar2 }} | |
name: 'publish test results: x64-linux-vmm-tests (logs)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: 🦀 flowey rust steps | |
run: |- | |
flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
flowey e 18 flowey_lib_common::publish_test_results 0 | |
flowey e 18 flowey_lib_common::publish_test_results 1 | |
flowey e 18 flowey_lib_common::publish_test_results 2 | |
flowey v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-vmm-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: x64-linux-vmm-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
shell: bash | |
- name: 'validate cache entry: azcopy' | |
run: flowey e 18 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey e 18 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 'validate cache entry: gh-cli' | |
run: flowey e 18 flowey_lib_common::cache 11 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey e 18 flowey_lib_common::cache 15 | |
shell: bash | |
job19: | |
name: run vmm-tests [aarch64-windows] | |
runs-on: | |
- self-hosted | |
- Windows | |
- ARM64 | |
- Baremetal | |
permissions: | |
contents: read | |
id-token: write | |
needs: | |
- job3 | |
- job6 | |
- job8 | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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@v4 | |
with: | |
pattern: '{aarch64-guest_test_uefi,aarch64-linux-musl-pipette,aarch64-linux-musl-tmk_vmm,aarch64-openhcl-igvm,aarch64-tmks,aarch64-windows-openvmm,aarch64-windows-pipette,aarch64-windows-tmk_vmm,aarch64-windows-vmgstool,aarch64-windows-vmm-tests-archive}' | |
path: ${{ runner.temp }}/used_artifacts/ | |
- run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
shell: bash | |
name: 🌼📦 Add flowey to PATH | |
- name: 🌼🔎 Self-check YAML | |
run: |- | |
ESCAPED_AGENT_TEMPDIR=$( | |
cat <<'EOF' | sed 's/\\/\\\\/g' | |
${{ runner.temp }} | |
EOF | |
) | |
flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-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 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\\aarch64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_aarch64-openhcl-igvm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-tmks" | flowey.exe v 19 'artifact_use_from_aarch64-tmks' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_aarch64-windows-openvmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-pipette" | flowey.exe v 19 'artifact_use_from_aarch64-windows-pipette' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_aarch64-windows-tmk_vmm' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update | |
echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update | |
shell: bash | |
- name: creating new test content dir | |
run: |- | |
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 1 | |
flowey.exe e 19 flowey_core::pipeline::artifact::resolve 0 | |
flowey.exe e 19 flowey_core::pipeline::artifact::resolve 6 | |
flowey.exe e 19 flowey_core::pipeline::artifact::resolve 2 | |
flowey.exe e 19 flowey_core::pipeline::artifact::resolve 3 | |
flowey.exe e 19 flowey_core::pipeline::artifact::resolve 7 | |
flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0 | |
shell: bash | |
- name: resolve OpenHCL igvm artifact | |
run: flowey.exe e 19 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0 | |
shell: bash | |
- name: create azcopy cache dir | |
run: flowey.exe e 19 flowey_lib_common::download_azcopy 0 | |
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@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: azcopy' | |
- name: installing azcopy | |
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_azcopy 1 | |
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 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@v4 | |
with: | |
key: ${{ env.floweyvar8 }} | |
path: ${{ env.floweyvar9 }} | |
name: 'Restore cache: gh-cli' | |
- name: installing gh | |
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_cli 1 | |
flowey.exe v 19 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
${{ github.token }} | |
EOF | |
shell: bash | |
- name: setup gh cli | |
run: flowey.exe e 19 flowey_lib_common::use_gh_cli 0 | |
shell: bash | |
- name: get latest completed action id | |
run: flowey.exe e 19 flowey_lib_common::gh_latest_completed_workflow_id 0 | |
shell: bash | |
- name: download artifacts from github actions run | |
run: flowey.exe e 19 flowey_lib_common::download_gh_artifact 0 | |
shell: bash | |
- name: write to directory variables | |
run: flowey.exe e 19 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
shell: bash | |
- name: 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 12 | |
flowey.exe v 19 'flowey_lib_common::cache:26:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar10 | |
flowey.exe v 19 'flowey_lib_common::cache:25:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar11 | |
shell: bash | |
- id: flowey_lib_common__cache__13 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar10 }} | |
path: ${{ env.floweyvar11 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey.exe v 19 'flowey_lib_common::cache:28:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__13.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__13.outputs.cache-hit }} | |
EOF | |
flowey.exe e 19 flowey_lib_common::cache 14 | |
flowey.exe e 19 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey.exe e 19 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: unpack mu_msvm package (aarch64) | |
run: flowey.exe e 19 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
shell: bash | |
- name: setting up vmm_tests env | |
run: flowey.exe e 19 flowey_lib_hvlite::init_vmm_tests_env 0 | |
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 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@v4 | |
with: | |
key: ${{ env.floweyvar6 }} | |
path: ${{ env.floweyvar7 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
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_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:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 | |
flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar3 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey.exe v 19 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 19 flowey_lib_common::git_checkout 3 | |
flowey.exe e 19 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey.exe e 19 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
flowey.exe e 19 flowey_lib_hvlite::run_cargo_nextest_run 1 | |
flowey.exe e 19 flowey_core::pipeline::artifact::resolve 8 | |
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: 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 | |
flowey.exe e 19 flowey_lib_common::publish_test_results 4 | |
flowey.exe e 19 flowey_lib_common::publish_test_results 5 | |
flowey.exe v 19 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2 | |
flowey.exe v 19 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__6 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-vmm-tests-logs | |
path: ${{ env.floweyvar2 }} | |
name: 'publish test results: aarch64-windows-vmm-tests (logs)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: 🦀 flowey rust steps | |
run: |- | |
flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
flowey.exe e 19 flowey_lib_common::publish_test_results 0 | |
flowey.exe e 19 flowey_lib_common::publish_test_results 1 | |
flowey.exe e 19 flowey_lib_common::publish_test_results 2 | |
flowey.exe v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1 | |
flowey.exe v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__publish_test_results__3 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-vmm-tests-junit-xml | |
path: ${{ env.floweyvar1 }} | |
name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)' | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report test results to overall pipeline status | |
run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
shell: bash | |
- name: 'validate cache entry: azcopy' | |
run: flowey.exe e 19 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey.exe e 19 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 'validate cache entry: gh-cli' | |
run: flowey.exe e 19 flowey_lib_common::cache 11 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 19 flowey_lib_common::cache 15 | |
shell: bash | |
job2: | |
name: build artifacts (not for VMM tests) [aarch64-windows] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Win-Pool-WestUS3 | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
mkdir -p "$OutDirNormal" | |
mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
working-directory: flowey_bootstrap | |
shell: bash | |
- run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
shell: bash | |
name: 🌼📦 Add flowey to PATH | |
- name: 🌼🔎 Self-check YAML | |
run: |- | |
ESCAPED_AGENT_TEMPDIR=$( | |
cat <<'EOF' | sed 's/\\/\\\\/g' | |
${{ runner.temp }} | |
EOF | |
) | |
flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release | |
shell: bash | |
- name: 🌼🛫 Initialize job | |
run: | | |
AgentTempDirNormal="${{ runner.temp }}" | |
AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey.exe v 2 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey.exe e 2 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey.exe e 2 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey.exe e 2 flowey_lib_common::install_rust 2 | |
flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey.exe e 2 flowey_lib_common::git_checkout 0 | |
flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar1 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey.exe v 2 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 2 flowey_lib_common::git_checkout 3 | |
flowey.exe e 2 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey.exe e 2 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 2 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 2 flowey_lib_common::cache 0 | |
flowey.exe v 2 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
flowey.exe v 2 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
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::download_protoc 0 | |
flowey.exe e 2 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey.exe e 2 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey.exe e 2 flowey_lib_hvlite::init_cross_build 1 | |
shell: bash | |
- name: cargo build hypestv | |
run: |- | |
flowey.exe e 2 flowey_lib_common::run_cargo_build 0 | |
flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 0 | |
flowey.exe e 2 flowey_lib_hvlite::build_hypestv 0 | |
flowey.exe e 2 flowey_core::pipeline::artifact::publish 0 | |
flowey.exe e 2 flowey_lib_hvlite::init_cross_build 0 | |
shell: bash | |
- name: cargo build vmgs_lib | |
run: |- | |
flowey.exe e 2 flowey_lib_common::run_cargo_build 3 | |
flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 3 | |
flowey.exe e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
flowey.exe e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
flowey.exe e 2 flowey_core::pipeline::artifact::publish 1 | |
flowey.exe e 2 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build igvmfilegen | |
run: |- | |
flowey.exe e 2 flowey_lib_common::run_cargo_build 1 | |
flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 1 | |
flowey.exe e 2 flowey_lib_hvlite::build_igvmfilegen 0 | |
flowey.exe e 2 flowey_core::pipeline::artifact::publish 2 | |
flowey.exe e 2 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build ohcldiag-dev | |
run: |- | |
flowey.exe e 2 flowey_lib_common::run_cargo_build 2 | |
flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 2 | |
flowey.exe e 2 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
flowey.exe e 2 flowey_core::pipeline::artifact::publish 3 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 2 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 🌼📦 Publish aarch64-windows-hypestv | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-hypestv | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-windows-igvmfilegen | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-igvmfilegen | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-windows-ohcldiag-dev | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-ohcldiag-dev | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-windows-vmgs_lib | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-vmgs_lib | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ | |
include-hidden-files: true | |
job20: | |
name: test flowey local backend | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 20 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey v 20 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey v 20 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey e 20 flowey_lib_common::git_checkout 0 | |
flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
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 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 e 20 flowey_lib_common::git_checkout 3 | |
flowey e 20 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey e 20 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: |- | |
flowey e 20 flowey_lib_common::install_rust 1 | |
flowey v 20 'flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm:2:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF | |
${{ github.token }} | |
EOF | |
shell: bash | |
- name: test cargo xflowey build-igvm x64 --install-missing-deps | |
run: flowey e 20 flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm 1 | |
shell: bash | |
job3: | |
name: build artifacts (for VMM tests) [aarch64-windows] | |
runs-on: windows-latest | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 3 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey.exe v 3 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey.exe v 3 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-prep_steps" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-prep_steps" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-prep_steps' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tmk_vmm" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-tmk_vmm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgstool" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-vmgstool' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-archive" | |
echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-vmm-tests-archive' --is-raw-string update | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey.exe e 3 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey.exe e 3 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey.exe e 3 flowey_lib_common::install_rust 2 | |
flowey.exe e 3 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey.exe e 3 flowey_lib_common::git_checkout 0 | |
flowey.exe v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey.exe v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar1 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey.exe v 3 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 3 flowey_lib_common::git_checkout 3 | |
flowey.exe e 3 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey.exe e 3 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 3 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 3 flowey_lib_common::cache 4 | |
flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey.exe v 3 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
EOF | |
flowey.exe e 3 flowey_lib_common::cache 6 | |
flowey.exe e 3 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack protoc | |
run: |- | |
flowey.exe e 3 flowey_lib_common::download_protoc 0 | |
flowey.exe e 3 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey.exe e 3 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey.exe e 3 flowey_lib_hvlite::init_cross_build 5 | |
shell: bash | |
- name: cargo build prep_steps | |
run: |- | |
flowey.exe e 3 flowey_lib_common::run_cargo_build 2 | |
flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 2 | |
flowey.exe e 3 flowey_lib_hvlite::build_prep_steps 0 | |
flowey.exe e 3 flowey_core::pipeline::artifact::publish 3 | |
flowey.exe e 3 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build vmgstool | |
run: |- | |
flowey.exe e 3 flowey_lib_common::run_cargo_build 4 | |
flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 4 | |
flowey.exe e 3 flowey_lib_hvlite::build_vmgstool 0 | |
flowey.exe e 3 flowey_core::pipeline::artifact::publish 4 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey.exe e 3 flowey_lib_common::download_cargo_nextest 0 | |
flowey.exe e 3 flowey_lib_common::download_cargo_nextest 1 | |
flowey.exe e 3 flowey_lib_common::download_cargo_nextest 2 | |
flowey.exe e 3 flowey_lib_common::download_cargo_nextest 3 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 3 flowey_lib_common::cache 0 | |
flowey.exe v 3 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
flowey.exe v 3 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
run: |- | |
flowey.exe v 3 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey.exe e 3 flowey_lib_common::cache 2 | |
flowey.exe e 3 flowey_lib_common::download_cargo_nextest 4 | |
shell: bash | |
- name: report $CARGO_HOME | |
run: flowey.exe e 3 flowey_lib_common::install_rust 3 | |
shell: bash | |
- name: installing cargo-nextest | |
run: |- | |
flowey.exe e 3 flowey_lib_common::install_cargo_nextest 0 | |
flowey.exe e 3 flowey_lib_hvlite::init_cross_build 0 | |
shell: bash | |
- name: build + archive 'vmm_tests' nextests | |
run: |- | |
flowey.exe e 3 flowey_lib_common::run_cargo_nextest_archive 0 | |
flowey.exe e 3 flowey_lib_hvlite::build_nextest_vmm_tests 0 | |
flowey.exe e 3 flowey_core::pipeline::artifact::publish 5 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.AARCH64.zip | |
run: flowey.exe e 3 flowey_lib_hvlite::download_lxutil 0 | |
shell: bash | |
- name: move lxutil.dll into its magic folder | |
run: |- | |
flowey.exe e 3 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 0 | |
flowey.exe e 3 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build openvmm | |
run: |- | |
flowey.exe e 3 flowey_lib_common::run_cargo_build 0 | |
flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 0 | |
flowey.exe e 3 flowey_lib_hvlite::build_openvmm 0 | |
flowey.exe e 3 flowey_core::pipeline::artifact::publish 0 | |
flowey.exe e 3 flowey_lib_hvlite::init_cross_build 4 | |
shell: bash | |
- name: cargo build pipette | |
run: |- | |
flowey.exe e 3 flowey_lib_common::run_cargo_build 1 | |
flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 1 | |
flowey.exe e 3 flowey_lib_hvlite::build_pipette 0 | |
flowey.exe e 3 flowey_core::pipeline::artifact::publish 1 | |
flowey.exe e 3 flowey_lib_hvlite::init_cross_build 1 | |
shell: bash | |
- name: cargo build tmk_vmm | |
run: |- | |
flowey.exe e 3 flowey_lib_common::run_cargo_build 3 | |
flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 3 | |
flowey.exe e 3 flowey_lib_hvlite::build_tmk_vmm 0 | |
flowey.exe e 3 flowey_core::pipeline::artifact::publish 2 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey.exe e 3 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 3 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 🌼📦 Publish aarch64-windows-openvmm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-openvmm | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-windows-pipette | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-pipette | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-windows-prep_steps | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-prep_steps | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-windows-tmk_vmm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-tmk_vmm | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-windows-vmgstool | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-vmgstool | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-windows-vmm-tests-archive | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-windows-vmm-tests-archive | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ | |
include-hidden-files: true | |
job4: | |
name: build artifacts (not for VMM tests) [x64-windows] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Win-Pool-WestUS3 | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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/x64-windows-hypestv" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-hypestv" | flowey.exe v 4 'artifact_publish_from_x64-windows-hypestv' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-igvmfilegen" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-igvmfilegen" | flowey.exe v 4 'artifact_publish_from_x64-windows-igvmfilegen' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-ohcldiag-dev" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey.exe e 4 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey.exe e 4 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey.exe e 4 flowey_lib_common::install_rust 2 | |
flowey.exe e 4 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey.exe e 4 flowey_lib_common::git_checkout 0 | |
flowey.exe v 4 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey.exe v 4 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar1 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey.exe v 4 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 4 flowey_lib_common::git_checkout 3 | |
flowey.exe e 4 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey.exe e 4 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey.exe e 4 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey.exe e 4 flowey_lib_common::cache 0 | |
flowey.exe v 4 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
flowey.exe v 4 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
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::download_protoc 0 | |
flowey.exe e 4 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 | |
shell: bash | |
- name: cargo build hypestv | |
run: |- | |
flowey.exe e 4 flowey_lib_common::run_cargo_build 0 | |
flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 0 | |
flowey.exe e 4 flowey_lib_hvlite::build_hypestv 0 | |
flowey.exe e 4 flowey_core::pipeline::artifact::publish 0 | |
flowey.exe e 4 flowey_lib_hvlite::init_cross_build 0 | |
shell: bash | |
- name: cargo build vmgs_lib | |
run: |- | |
flowey.exe e 4 flowey_lib_common::run_cargo_build 3 | |
flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 3 | |
flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
shell: bash | |
- name: test vmgs_lib | |
run: |- | |
flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 2 | |
flowey.exe e 4 flowey_core::pipeline::artifact::publish 1 | |
flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build igvmfilegen | |
run: |- | |
flowey.exe e 4 flowey_lib_common::run_cargo_build 1 | |
flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1 | |
flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0 | |
flowey.exe e 4 flowey_core::pipeline::artifact::publish 2 | |
flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build ohcldiag-dev | |
run: |- | |
flowey.exe e 4 flowey_lib_common::run_cargo_build 2 | |
flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2 | |
flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
flowey.exe e 4 flowey_core::pipeline::artifact::publish 3 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 4 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 🌼📦 Publish x64-windows-hypestv | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-hypestv | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-windows-igvmfilegen | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-igvmfilegen | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-windows-ohcldiag-dev | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-ohcldiag-dev | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-windows-vmgs_lib | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-vmgs_lib | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ | |
include-hidden-files: true | |
job5: | |
name: build artifacts (for VMM tests) [x64-windows] | |
runs-on: windows-latest | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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/x64-windows-openvmm" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-openvmm" | flowey.exe v 5 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 5 'artifact_publish_from_x64-windows-pipette' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-prep_steps" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-prep_steps" | flowey.exe v 5 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tmk_vmm" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 5 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool" | flowey.exe v 5 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-tests-archive" | |
echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 5 'artifact_publish_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey.exe e 5 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey.exe e 5 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey.exe e 5 flowey_lib_common::install_rust 2 | |
flowey.exe e 5 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: 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@v4 | |
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 Microsoft.WSL.LxUtil.x64.zip | |
run: flowey.exe e 5 flowey_lib_hvlite::download_lxutil 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:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey.exe v 5 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar1 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey.exe v 5 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey.exe e 5 flowey_lib_common::git_checkout 3 | |
flowey.exe e 5 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey.exe e 5 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: move lxutil.dll into its magic folder | |
run: flowey.exe e 5 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 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: unpack protoc | |
run: flowey.exe e 5 flowey_lib_common::download_protoc 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 3 | |
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 4 | |
shell: bash | |
- name: cargo build pipette | |
run: |- | |
flowey.exe e 5 flowey_lib_common::run_cargo_build 1 | |
flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 1 | |
flowey.exe e 5 flowey_lib_hvlite::build_pipette 0 | |
flowey.exe e 5 flowey_core::pipeline::artifact::publish 1 | |
flowey.exe e 5 flowey_lib_hvlite::init_cross_build 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 3 | |
flowey.exe e 5 flowey_lib_hvlite::build_tmk_vmm 0 | |
flowey.exe e 5 flowey_core::pipeline::artifact::publish 2 | |
flowey.exe e 5 flowey_lib_hvlite::init_cross_build 5 | |
shell: bash | |
- name: cargo build prep_steps | |
run: |- | |
flowey.exe e 5 flowey_lib_common::run_cargo_build 2 | |
flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 2 | |
flowey.exe e 5 flowey_lib_hvlite::build_prep_steps 0 | |
flowey.exe e 5 flowey_core::pipeline::artifact::publish 3 | |
flowey.exe e 5 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build vmgstool | |
run: |- | |
flowey.exe e 5 flowey_lib_common::run_cargo_build 4 | |
flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 4 | |
flowey.exe e 5 flowey_lib_hvlite::build_vmgstool 0 | |
flowey.exe e 5 flowey_core::pipeline::artifact::publish 4 | |
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@v4 | |
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 5 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey.exe e 5 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey.exe e 5 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 🌼📦 Publish x64-windows-openvmm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-openvmm | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-windows-pipette | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-pipette | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-windows-prep_steps | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-prep_steps | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-windows-tmk_vmm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-tmk_vmm | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-windows-vmgstool | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-vmgstool | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-windows-vmm-tests-archive | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-windows-vmm-tests-archive | |
path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/ | |
include-hidden-files: true | |
- name: 🌼🧼 Redact bootstrap var db | |
run: rm $AgentTempDirNormal/bootstrapped-flowey/job5.json | |
shell: bash | |
- name: 🌼🥾 Publish bootstrapped flowey | |
uses: actions/upload-artifact@v4 | |
with: | |
name: _internal-flowey-bootstrap-x86_64-windows-uid-10 | |
path: ${{ runner.temp }}/bootstrapped-flowey | |
job6: | |
name: build artifacts [aarch64-linux] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 6 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey v 6 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey v 6 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 6 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 6 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 6 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 6 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 6 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 6 'artifact_publish_from_aarch64-tmks' --is-raw-string update | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey e 6 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey e 6 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey e 6 flowey_lib_common::install_rust 2 | |
flowey e 6 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: checking if packages need to be installed | |
run: flowey e 6 flowey_lib_common::install_dist_pkg 0 | |
shell: bash | |
- name: installing packages | |
run: flowey e 6 flowey_lib_common::install_dist_pkg 1 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey e 6 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 6 flowey_lib_common::cache 0 | |
flowey v 6 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
flowey v 6 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey v 6 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey e 6 flowey_lib_common::cache 2 | |
flowey e 6 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.AARCH64.zip | |
run: flowey e 6 flowey_lib_hvlite::download_lxutil 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey e 6 flowey_lib_common::git_checkout 0 | |
flowey v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar1 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey v 6 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey e 6 flowey_lib_common::git_checkout 3 | |
flowey e 6 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey e 6 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: move lxutil.dll into its magic folder | |
run: flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey e 6 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: unpack protoc | |
run: flowey e 6 flowey_lib_common::download_protoc 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey e 6 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build openvmm | |
run: |- | |
flowey e 6 flowey_lib_common::run_cargo_build 3 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 5 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 6 flowey_lib_hvlite::run_split_debug_info 1 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 6 | |
flowey e 6 flowey_lib_hvlite::build_openvmm 0 | |
flowey e 6 flowey_core::pipeline::artifact::publish 0 | |
flowey e 6 flowey_lib_hvlite::init_cross_build 4 | |
shell: bash | |
- name: cargo build vmgstool | |
run: |- | |
flowey e 6 flowey_lib_common::run_cargo_build 6 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 12 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 6 flowey_lib_hvlite::run_split_debug_info 3 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 13 | |
flowey e 6 flowey_lib_hvlite::build_vmgstool 0 | |
flowey e 6 flowey_core::pipeline::artifact::publish 1 | |
flowey e 6 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build vmgs_lib | |
run: |- | |
flowey e 6 flowey_lib_common::run_cargo_build 5 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 11 | |
flowey e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
flowey e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
flowey e 6 flowey_core::pipeline::artifact::publish 2 | |
flowey e 6 flowey_lib_hvlite::init_cross_build 5 | |
shell: bash | |
- name: cargo build igvmfilegen | |
run: |- | |
flowey e 6 flowey_lib_common::run_cargo_build 1 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 1 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 6 flowey_lib_hvlite::run_split_debug_info 4 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 2 | |
flowey e 6 flowey_lib_hvlite::build_igvmfilegen 0 | |
flowey e 6 flowey_core::pipeline::artifact::publish 3 | |
flowey e 6 flowey_lib_hvlite::init_cross_build 1 | |
shell: bash | |
- name: cargo build ohcldiag-dev | |
run: |- | |
flowey e 6 flowey_lib_common::run_cargo_build 2 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 3 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 6 flowey_lib_hvlite::run_split_debug_info 0 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 4 | |
flowey e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
flowey e 6 flowey_core::pipeline::artifact::publish 4 | |
flowey e 6 flowey_lib_hvlite::init_cross_build 6 | |
shell: bash | |
- name: cargo build guest_test_uefi | |
run: |- | |
flowey e 6 flowey_lib_common::run_cargo_build 0 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 0 | |
shell: bash | |
- name: build guest_test_uefi.img | |
run: |- | |
flowey e 6 flowey_lib_hvlite::build_guest_test_uefi 0 | |
flowey e 6 flowey_core::pipeline::artifact::publish 5 | |
flowey e 6 flowey_lib_hvlite::init_cross_build 0 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 7 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 8 | |
shell: bash | |
- name: cargo build simple_tmk | |
run: |- | |
flowey e 6 flowey_lib_common::run_cargo_build 4 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 9 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 6 flowey_lib_hvlite::run_split_debug_info 2 | |
flowey e 6 flowey_lib_hvlite::run_cargo_build 10 | |
flowey e 6 flowey_lib_hvlite::build_tmks 0 | |
flowey e 6 flowey_core::pipeline::artifact::publish 6 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey e 6 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 🌼📦 Publish aarch64-guest_test_uefi | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-guest_test_uefi | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-linux-igvmfilegen | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-linux-igvmfilegen | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-linux-ohcldiag-dev | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-linux-ohcldiag-dev | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-linux-openvmm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-linux-openvmm | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-linux-vmgs_lib | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-linux-vmgs_lib | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-linux-vmgstool | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-linux-vmgstool | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-tmks | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-tmks | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ | |
include-hidden-files: true | |
job7: | |
name: build artifacts [x64-linux] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 7 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey v 7 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey v 7 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 7 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_x64-linux-ohcldiag-dev' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | flowey v 7 'artifact_publish_from_x64-linux-openvmm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | flowey v 7 'artifact_publish_from_x64-linux-vmgs_lib' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 7 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 7 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 7 'artifact_publish_from_x64-tmks' --is-raw-string update | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey e 7 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey e 7 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey e 7 flowey_lib_common::install_rust 2 | |
flowey e 7 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: checking if packages need to be installed | |
run: flowey e 7 flowey_lib_common::install_dist_pkg 0 | |
shell: bash | |
- name: installing packages | |
run: flowey e 7 flowey_lib_common::install_dist_pkg 1 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey e 7 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 7 flowey_lib_common::cache 4 | |
flowey v 7 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4 | |
flowey v 7 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5 | |
shell: bash | |
- id: flowey_lib_common__cache__5 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar4 }} | |
path: ${{ env.floweyvar5 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey v 7 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
EOF | |
flowey e 7 flowey_lib_common::cache 6 | |
flowey e 7 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack Microsoft.WSL.LxUtil.x64.zip | |
run: flowey e 7 flowey_lib_hvlite::download_lxutil 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey e 7 flowey_lib_common::git_checkout 0 | |
flowey v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1 | |
flowey v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar1 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey v 7 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey e 7 flowey_lib_common::git_checkout 3 | |
flowey e 7 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
flowey e 7 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: move lxutil.dll into its magic folder | |
run: flowey e 7 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey e 7 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: unpack protoc | |
run: flowey e 7 flowey_lib_common::download_protoc 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey e 7 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey e 7 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build openvmm | |
run: |- | |
flowey e 7 flowey_lib_common::run_cargo_build 3 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 5 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 7 flowey_lib_hvlite::run_split_debug_info 1 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 6 | |
flowey e 7 flowey_lib_hvlite::build_openvmm 0 | |
flowey e 7 flowey_core::pipeline::artifact::publish 0 | |
flowey e 7 flowey_lib_hvlite::init_cross_build 5 | |
shell: bash | |
- name: cargo build vmgstool | |
run: |- | |
flowey e 7 flowey_lib_common::run_cargo_build 6 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 12 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 7 flowey_lib_hvlite::run_split_debug_info 3 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 13 | |
flowey e 7 flowey_lib_hvlite::build_vmgstool 0 | |
flowey e 7 flowey_core::pipeline::artifact::publish 1 | |
flowey e 7 flowey_lib_hvlite::init_cross_build 4 | |
shell: bash | |
- name: cargo build vmgs_lib | |
run: |- | |
flowey e 7 flowey_lib_common::run_cargo_build 5 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 11 | |
flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
shell: bash | |
- name: test vmgs_lib | |
run: |- | |
flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 1 | |
flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 2 | |
flowey e 7 flowey_core::pipeline::artifact::publish 2 | |
flowey e 7 flowey_lib_hvlite::init_cross_build 6 | |
shell: bash | |
- name: cargo build igvmfilegen | |
run: |- | |
flowey e 7 flowey_lib_common::run_cargo_build 1 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 1 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 7 flowey_lib_hvlite::run_split_debug_info 4 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 2 | |
flowey e 7 flowey_lib_hvlite::build_igvmfilegen 0 | |
flowey e 7 flowey_core::pipeline::artifact::publish 3 | |
flowey e 7 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build ohcldiag-dev | |
run: |- | |
flowey e 7 flowey_lib_common::run_cargo_build 2 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 3 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 7 flowey_lib_hvlite::run_split_debug_info 0 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 4 | |
flowey e 7 flowey_lib_hvlite::build_ohcldiag_dev 0 | |
flowey e 7 flowey_core::pipeline::artifact::publish 4 | |
flowey e 7 flowey_lib_hvlite::init_cross_build 7 | |
shell: bash | |
- name: cargo build guest_test_uefi | |
run: |- | |
flowey e 7 flowey_lib_common::run_cargo_build 0 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 0 | |
shell: bash | |
- name: build guest_test_uefi.img | |
run: |- | |
flowey e 7 flowey_lib_hvlite::build_guest_test_uefi 0 | |
flowey e 7 flowey_core::pipeline::artifact::publish 5 | |
flowey e 7 flowey_lib_hvlite::init_cross_build 0 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 7 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 8 | |
shell: bash | |
- name: cargo build simple_tmk | |
run: |- | |
flowey e 7 flowey_lib_common::run_cargo_build 4 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 9 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 7 flowey_lib_hvlite::run_split_debug_info 2 | |
flowey e 7 flowey_lib_hvlite::run_cargo_build 10 | |
flowey e 7 flowey_lib_hvlite::build_tmks 0 | |
flowey e 7 flowey_core::pipeline::artifact::publish 6 | |
shell: bash | |
- name: create cargo-nextest cache dir | |
run: |- | |
flowey e 7 flowey_lib_common::download_cargo_nextest 0 | |
flowey e 7 flowey_lib_common::download_cargo_nextest 1 | |
flowey e 7 flowey_lib_common::download_cargo_nextest 2 | |
flowey e 7 flowey_lib_common::download_cargo_nextest 3 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 7 flowey_lib_common::cache 0 | |
flowey v 7 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 | |
flowey v 7 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar2 }} | |
path: ${{ env.floweyvar3 }} | |
name: 'Restore cache: cargo-nextest' | |
- name: downloading cargo-nextest | |
run: |- | |
flowey v 7 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey e 7 flowey_lib_common::cache 2 | |
flowey e 7 flowey_lib_common::download_cargo_nextest 4 | |
shell: bash | |
- name: report $CARGO_HOME | |
run: flowey e 7 flowey_lib_common::install_rust 3 | |
shell: bash | |
- name: installing cargo-nextest | |
run: |- | |
flowey e 7 flowey_lib_common::install_cargo_nextest 0 | |
flowey e 7 flowey_lib_hvlite::init_cross_build 1 | |
shell: bash | |
- name: build + archive 'vmm_tests' nextests | |
run: |- | |
flowey e 7 flowey_lib_common::run_cargo_nextest_archive 0 | |
flowey e 7 flowey_lib_hvlite::build_nextest_vmm_tests 0 | |
flowey e 7 flowey_core::pipeline::artifact::publish 7 | |
shell: bash | |
- name: 'validate cache entry: cargo-nextest' | |
run: flowey e 7 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey e 7 flowey_lib_common::cache 7 | |
shell: bash | |
- name: 🌼📦 Publish x64-guest_test_uefi | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-guest_test_uefi | |
path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-linux-igvmfilegen | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-igvmfilegen | |
path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-linux-ohcldiag-dev | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-ohcldiag-dev | |
path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-linux-openvmm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-openvmm | |
path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-linux-vmgs_lib | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-vmgs_lib | |
path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-linux-vmgstool | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-vmgstool | |
path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-linux-vmm-tests-archive | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-vmm-tests-archive | |
path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-tmks | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-tmks | |
path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ | |
include-hidden-files: true | |
job8: | |
name: build openhcl [aarch64-linux] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 8 'FLOWEY_LOG' update | |
echo "${{ runner.temp }}/work" | flowey v 8 '_internal_WORKING_DIR' --is-raw-string update | |
cat <<'EOF' | flowey v 8 'verbose' update | |
${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
EOF | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 8 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | |
echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 8 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update | |
shell: bash | |
- name: checking if packages need to be installed | |
run: flowey e 8 flowey_lib_common::install_dist_pkg 0 | |
shell: bash | |
- name: installing packages | |
run: flowey e 8 flowey_lib_common::install_dist_pkg 1 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey e 8 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 8 flowey_lib_common::cache 0 | |
flowey v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 | |
flowey v 8 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar1 }} | |
path: ${{ env.floweyvar2 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey v 8 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey e 8 flowey_lib_common::cache 2 | |
flowey e 8 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack mu_msvm package (aarch64) | |
run: flowey e 8 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey e 8 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey e 8 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey e 8 flowey_lib_common::install_rust 2 | |
flowey e 8 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey e 8 flowey_lib_common::git_checkout 0 | |
flowey v 8 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 | |
flowey v 8 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '1' | |
path: repo0 | |
persist-credentials: ${{ env.floweyvar3 }} | |
name: checkout repo openvmm | |
if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
- name: report cloned repo directories | |
run: |- | |
flowey v 8 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey e 8 flowey_lib_common::git_checkout 3 | |
flowey e 8 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey e 8 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: unpack protoc | |
run: |- | |
flowey e 8 flowey_lib_common::download_protoc 0 | |
flowey e 8 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
shell: bash | |
- name: symlink protoc | |
run: |- | |
flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
flowey e 8 flowey_lib_hvlite::init_cross_build 0 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 2 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 3 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey e 8 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: extract Aarch64 sysroot.tar.gz | |
run: flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
shell: bash | |
- name: cargo build openhcl_boot | |
run: |- | |
flowey e 8 flowey_lib_common::run_cargo_build 1 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 4 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 8 flowey_lib_hvlite::run_split_debug_info 2 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 5 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_boot 0 | |
shell: bash | |
- name: unpack kernel package | |
run: |- | |
flowey e 8 flowey_lib_hvlite::download_openhcl_kernel_package 1 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 | |
flowey e 8 flowey_lib_hvlite::init_cross_build 1 | |
shell: bash | |
- name: cargo build openvmm_hcl | |
run: |- | |
flowey e 8 flowey_lib_common::run_cargo_build 2 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 6 | |
flowey e 8 flowey_lib_hvlite::build_openvmm_hcl 0 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 8 flowey_lib_hvlite::run_split_debug_info 1 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 | |
shell: bash | |
- name: building openhcl initrd | |
run: |- | |
flowey e 8 flowey_lib_hvlite::build_openhcl_initrd 1 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
flowey e 8 flowey_lib_hvlite::init_cross_build 4 | |
shell: bash | |
- name: cargo build igvmfilegen | |
run: |- | |
flowey e 8 flowey_lib_common::run_cargo_build 0 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 0 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 8 flowey_lib_hvlite::run_split_debug_info 5 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 1 | |
flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 | |
shell: bash | |
- name: building igvm file | |
run: |- | |
flowey e 8 flowey_lib_hvlite::run_igvmfilegen 1 | |
flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 8 flowey_lib_hvlite::run_split_debug_info 0 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 | |
shell: bash | |
- name: unpack kernel package | |
run: flowey e 8 flowey_lib_hvlite::download_openhcl_kernel_package 0 | |
shell: bash | |
- name: building openhcl initrd | |
run: |- | |
flowey e 8 flowey_lib_hvlite::build_openhcl_initrd 0 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 | |
shell: bash | |
- name: building igvm file | |
run: |- | |
flowey e 8 flowey_lib_hvlite::run_igvmfilegen 0 | |
flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0 | |
flowey e 8 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0 | |
shell: bash | |
- name: copying OpenHCL igvm files to artifact dir | |
run: |- | |
flowey e 8 flowey_lib_common::copy_to_artifact_dir 1 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 | |
flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1 | |
flowey e 8 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0 | |
shell: bash | |
- name: copying OpenHCL igvm extras to artifact dir | |
run: |- | |
flowey e 8 flowey_lib_common::copy_to_artifact_dir 0 | |
flowey e 8 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build pipette | |
run: |- | |
flowey e 8 flowey_lib_common::run_cargo_build 3 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 7 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 8 flowey_lib_hvlite::run_split_debug_info 3 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 8 | |
flowey e 8 flowey_lib_hvlite::build_pipette 0 | |
flowey e 8 flowey_core::pipeline::artifact::publish 0 | |
flowey e 8 flowey_lib_hvlite::init_cross_build 3 | |
shell: bash | |
- name: cargo build tmk_vmm | |
run: |- | |
flowey e 8 flowey_lib_common::run_cargo_build 4 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 9 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 8 flowey_lib_hvlite::run_split_debug_info 4 | |
flowey e 8 flowey_lib_hvlite::run_cargo_build 10 | |
flowey e 8 flowey_lib_hvlite::build_tmk_vmm 0 | |
flowey e 8 flowey_core::pipeline::artifact::publish 1 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey e 8 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 🌼📦 Publish aarch64-linux-musl-pipette | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-linux-musl-pipette | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-pipette/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-linux-musl-tmk_vmm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-linux-musl-tmk_vmm | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-openhcl-igvm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-openhcl-igvm | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish aarch64-openhcl-igvm-extras | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aarch64-openhcl-igvm-extras | |
path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ | |
include-hidden-files: true | |
job9: | |
name: build openhcl [x64-linux] | |
runs-on: | |
- self-hosted | |
- 1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3 | |
- 1ES.ImageOverride=MMSUbuntu22.04-256GB | |
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.90.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.90.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.90.0 | |
echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
name: rustup (Windows ARM64) | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
path: flowey_bootstrap | |
- name: Build flowey | |
run: | | |
set -x | |
CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" 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 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-musl-pipette" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 9 '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 9 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 9 'artifact_publish_from_x64-openhcl-igvm' --is-raw-string update | |
mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | |
echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | flowey v 9 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update | |
shell: bash | |
- name: checking if packages need to be installed | |
run: flowey e 9 flowey_lib_common::install_dist_pkg 0 | |
shell: bash | |
- name: installing packages | |
run: flowey e 9 flowey_lib_common::install_dist_pkg 1 | |
shell: bash | |
- name: create gh-release-download cache dir | |
run: flowey e 9 flowey_lib_common::download_gh_release 0 | |
shell: bash | |
- name: Pre-processing cache vars | |
run: |- | |
flowey e 9 flowey_lib_common::cache 0 | |
flowey v 9 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1 | |
flowey v 9 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2 | |
shell: bash | |
- id: flowey_lib_common__cache__1 | |
uses: actions/cache@v4 | |
with: | |
key: ${{ env.floweyvar1 }} | |
path: ${{ env.floweyvar2 }} | |
name: 'Restore cache: gh-release-download' | |
- name: download artifacts from github releases | |
run: |- | |
flowey v 9 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
EOF | |
flowey e 9 flowey_lib_common::cache 2 | |
flowey e 9 flowey_lib_common::download_gh_release 1 | |
shell: bash | |
- name: unpack mu_msvm package (x64) | |
run: flowey e 9 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
shell: bash | |
- name: add default cargo home to path | |
run: flowey e 9 flowey_lib_common::install_rust 0 | |
shell: bash | |
- name: install Rust | |
run: flowey e 9 flowey_lib_common::install_rust 1 | |
shell: bash | |
- name: detect active toolchain | |
run: |- | |
flowey e 9 flowey_lib_common::install_rust 2 | |
flowey e 9 flowey_lib_common::cfg_cargo_common_flags 0 | |
shell: bash | |
- name: check if openvmm needs to be cloned | |
run: |- | |
flowey e 9 flowey_lib_common::git_checkout 0 | |
flowey v 9 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3 | |
flowey v 9 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION | |
shell: bash | |
- id: flowey_lib_common__git_checkout__1 | |
uses: actions/checkout@v4 | |
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 9 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF | |
${{ github.workspace }} | |
EOF | |
flowey e 9 flowey_lib_common::git_checkout 3 | |
flowey e 9 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
shell: bash | |
- name: set '-Dwarnings' in .cargo/config.toml | |
run: flowey e 9 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
shell: bash | |
- name: unpack protoc | |
run: |- | |
flowey e 9 flowey_lib_common::download_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 4 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 9 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 10 | |
shell: bash | |
- name: cargo build sidecar | |
run: |- | |
flowey e 9 flowey_lib_common::run_cargo_build 4 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 11 | |
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 12 | |
flowey e 9 flowey_lib_hvlite::build_sidecar 0 | |
flowey e 9 flowey_lib_hvlite::init_cross_build 5 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 2 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 3 | |
shell: bash | |
- name: cargo build openhcl_boot | |
run: |- | |
flowey e 9 flowey_lib_common::run_cargo_build 1 | |
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 5 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 5 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_boot 0 | |
shell: bash | |
- name: unpack kernel package | |
run: |- | |
flowey e 9 flowey_lib_hvlite::download_openhcl_kernel_package 2 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 | |
shell: bash | |
- name: unpack openvmm-deps archive | |
run: flowey e 9 flowey_lib_hvlite::download_openvmm_deps 0 | |
shell: bash | |
- name: extract X64 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 1 | |
shell: bash | |
- name: cargo build openvmm_hcl | |
run: |- | |
flowey e 9 flowey_lib_common::run_cargo_build 2 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 6 | |
flowey e 9 flowey_lib_hvlite::build_openvmm_hcl 0 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_split_debug_info 4 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 | |
shell: bash | |
- name: building openhcl initrd | |
run: |- | |
flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 4 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 | |
flowey e 9 flowey_lib_hvlite::init_cross_build 0 | |
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 9 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 1 | |
flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 | |
shell: bash | |
- name: building igvm file | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_igvmfilegen 4 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 42 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 38 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_split_debug_info 0 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 39 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 40 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 43 | |
shell: bash | |
- name: unpack kernel package | |
run: flowey e 9 flowey_lib_hvlite::download_openhcl_kernel_package 0 | |
shell: bash | |
- name: building openhcl initrd | |
run: |- | |
flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 0 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 44 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 45 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 46 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 47 | |
shell: bash | |
- name: building igvm file | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_igvmfilegen 0 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 54 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 50 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_split_debug_info 2 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 51 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 52 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 55 | |
shell: bash | |
- name: building openhcl initrd | |
run: |- | |
flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 1 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 56 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 57 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 58 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 59 | |
shell: bash | |
- name: building igvm file | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_igvmfilegen 1 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 6 | |
shell: bash | |
- name: unpack kernel package | |
run: |- | |
flowey e 9 flowey_lib_hvlite::download_openhcl_kernel_package 1 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_split_debug_info 3 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 | |
shell: bash | |
- name: building openhcl initrd | |
run: |- | |
flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 3 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 | |
shell: bash | |
- name: building igvm file | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_igvmfilegen 3 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 8 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_split_debug_info 1 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 | |
shell: bash | |
- name: building openhcl initrd | |
run: |- | |
flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 2 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 | |
shell: bash | |
- name: building igvm file | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_igvmfilegen 2 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0 | |
flowey e 9 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0 | |
shell: bash | |
- name: copying OpenHCL igvm files to artifact dir | |
run: |- | |
flowey e 9 flowey_lib_common::copy_to_artifact_dir 1 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 41 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 53 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 49 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 48 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 7 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 9 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 | |
flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1 | |
flowey e 9 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0 | |
shell: bash | |
- name: copying OpenHCL igvm extras to artifact dir | |
run: |- | |
flowey e 9 flowey_lib_common::copy_to_artifact_dir 0 | |
flowey e 9 flowey_lib_hvlite::init_cross_build 2 | |
shell: bash | |
- name: cargo build pipette | |
run: |- | |
flowey e 9 flowey_lib_common::run_cargo_build 3 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 7 | |
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 8 | |
flowey e 9 flowey_lib_hvlite::build_pipette 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 tmk_vmm | |
run: |- | |
flowey e 9 flowey_lib_common::run_cargo_build 5 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 13 | |
shell: bash | |
- name: split debug symbols | |
run: |- | |
flowey e 9 flowey_lib_hvlite::run_split_debug_info 8 | |
flowey e 9 flowey_lib_hvlite::run_cargo_build 14 | |
flowey e 9 flowey_lib_hvlite::build_tmk_vmm 0 | |
flowey e 9 flowey_core::pipeline::artifact::publish 1 | |
shell: bash | |
- name: 'validate cache entry: gh-release-download' | |
run: flowey e 9 flowey_lib_common::cache 3 | |
shell: bash | |
- name: 🌼📦 Publish x64-linux-musl-pipette | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-musl-pipette | |
path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-pipette/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-linux-musl-tmk_vmm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-linux-musl-tmk_vmm | |
path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-openhcl-igvm | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-openhcl-igvm | |
path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ | |
include-hidden-files: true | |
- name: 🌼📦 Publish x64-openhcl-igvm-extras | |
uses: actions/upload-artifact@v4 | |
with: | |
name: x64-openhcl-igvm-extras | |
path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ | |
include-hidden-files: true | |
- name: 🌼🧼 Redact bootstrap var db | |
run: rm $AgentTempDirNormal/bootstrapped-flowey/job9.json | |
shell: bash | |
- name: 🌼🥾 Publish bootstrapped flowey | |
uses: actions/upload-artifact@v4 | |
with: | |
name: _internal-flowey-bootstrap-x86_64-linux-uid-6 | |
path: ${{ runner.temp }}/bootstrapped-flowey |