Repository navigation
WIP: CI: Move artifacts not used by vmm tests into the right jobs #9978
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ############################## | |
| # THIS FILE IS AUTOGENERATED # | |
| # DO NOT MANUALLY EDIT # | |
| ############################## | |
| name: '[Optional] OpenVMM Release PR' | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| verbose: | |
| description: Run with verbose output | |
| default: false | |
| required: false | |
| type: boolean | |
| pull_request: | |
| branches: | |
| - main | |
| - release/* | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| - ready_for_review | |
| - labeled | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| job0: | |
| name: quick check [fmt, clippy x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job0-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey | |
| echo '"debug"' | flowey v 0 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 0 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 0 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 0 flowey_lib_common::git_checkout 0 | |
| flowey v 0 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 0 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar1 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 0 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 0 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 0 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: add default cargo home to path | |
| run: flowey e 0 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 0 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 0 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 0 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 0 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 0 flowey_lib_common::cache 0 | |
| flowey v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 0 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 0 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 0 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: checking if packages need to be installed | |
| run: flowey e 0 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 0 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack protoc | |
| run: flowey e 0 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 0 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build xtask | |
| run: flowey e 0 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 0 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_xtask 0 | |
| - name: run xtask fmt | |
| run: flowey e 0 flowey_lib_hvlite::_jobs::check_xtask_fmt 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo clippy | |
| run: flowey e 0 flowey_lib_common::run_cargo_clippy 1 | |
| - name: determine clippy exclusions | |
| run: flowey e 0 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 0 flowey_lib_common::run_cargo_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 0 flowey_lib_common::run_cargo_clippy 2 | |
| - name: cargo clippy | |
| run: flowey e 0 flowey_lib_common::run_cargo_clippy 4 | |
| - name: cargo clippy | |
| run: flowey e 0 flowey_lib_common::run_cargo_clippy 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 0 flowey_lib_common::cache 3 | |
| - name: πΌπ§Ό Redact bootstrap var db | |
| run: rm $AgentTempDirNormal/bootstrapped-flowey/job0.json | |
| - name: πΌπ₯Ύ Publish bootstrapped flowey | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/bootstrapped-flowey | |
| job1: | |
| name: xtask fmt (windows) | |
| runs-on: windows-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 1 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 1 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 1 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 1 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 1 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey.exe v 1 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar1 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 1 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 1 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 1 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: add default cargo home to path | |
| run: flowey.exe e 1 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 1 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 1 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 1 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 1 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 1 flowey_lib_common::cache 0 | |
| flowey.exe v 1 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 1 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 1 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 1 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 1 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 1 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo build xtask | |
| run: flowey.exe e 1 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::build_xtask 0 | |
| - name: run xtask fmt | |
| run: flowey.exe e 1 flowey_lib_hvlite::_jobs::check_xtask_fmt 0 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 1 flowey_lib_common::cache 3 | |
| job10: | |
| name: build artifacts (for VMM tests) [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job10-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 10 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 10 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 10 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 10 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 10 'artifact_publish_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-incubator" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-incubator" | flowey v 10 'artifact_publish_from_x64-linux-incubator' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey e 10 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 10 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 10 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 10 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 10 flowey_lib_common::install_dist_pkg 1 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 10 flowey_lib_common::git_checkout 0 | |
| flowey v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 10 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 10 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 10 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 10 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 10 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 10 flowey_lib_common::cache 4 | |
| flowey v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 10 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 10 flowey_lib_common::cache 6 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey e 10 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 10 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 1 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 10 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: flowey e 10 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| - name: cargo build openvmm | |
| run: flowey e 10 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 2 | |
| - name: split debug symbols | |
| run: flowey e 10 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 3 flowey_lib_hvlite::build_openvmm 0 flowey_core::pipeline::artifact::publish 0 | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 10 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 10 flowey_lib_common::cache 0 | |
| flowey v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 10 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 10 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey e 10 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey e 10 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: build + archive 'vmm_tests' nextests | |
| run: flowey e 10 flowey_lib_common::run_cargo_nextest_archive 0 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build incubator | |
| run: flowey e 10 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 10 flowey_lib_hvlite::run_split_debug_info 1 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_incubator 0 flowey_core::pipeline::artifact::publish 2 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 10 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 10 flowey_lib_common::cache 7 | |
| - name: πΌπ¦ Publish aarch64-linux-musl-openvmm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-musl-vmm-tests-archive | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-tests-archive/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-incubator | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-incubator | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-incubator/ | |
| include-hidden-files: true | |
| job11: | |
| name: build artifacts (not for VMM tests) [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job11-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 11 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 11 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 11 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 11 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 11 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-prep_steps" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-prep_steps" | flowey v 11 'artifact_publish_from_aarch64-linux-musl-prep_steps' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | flowey v 11 'artifact_publish_from_aarch64-linux-musl-vmm-perf-runner' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 11 '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 11 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 11 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 11 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 11 '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 11 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | flowey v 11 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" | flowey v 11 'artifact_publish_from_aarch64-linux-vmm-perf-runner' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 11 'artifact_publish_from_aarch64-linux-vmm-tests-archive' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey e 11 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 11 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 11 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 11 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 11 flowey_lib_common::install_dist_pkg 1 | |
| - 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' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 11 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 11 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 11 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 11 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 11 flowey_lib_common::download_gh_release 0 | |
| - 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' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| 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' --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_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey e 11 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 7 | |
| - name: cargo build vmgstool | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 9 flowey_lib_hvlite::run_cargo_build 17 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 8 flowey_lib_hvlite::run_cargo_build 18 flowey_lib_hvlite::build_vmgstool 0 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::init_cross_build 6 | |
| - name: cargo build vmgstool | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 8 flowey_lib_hvlite::run_cargo_build 15 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 7 flowey_lib_hvlite::run_cargo_build 16 flowey_lib_hvlite::build_vmgstool 1 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::init_cross_build 5 | |
| - name: cargo build vmgs_lib | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 7 flowey_lib_hvlite::run_cargo_build 14 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey_core::pipeline::artifact::publish 2 flowey_lib_hvlite::init_cross_build 3 | |
| - name: cargo build igvmfilegen | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 6 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_igvmfilegen 0 flowey_core::pipeline::artifact::publish 3 flowey_lib_hvlite::init_cross_build 9 | |
| - name: cargo build ohcldiag-dev | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 2 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 3 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey_core::pipeline::artifact::publish 4 flowey_lib_hvlite::init_cross_build 8 | |
| - name: cargo build vmm_perf | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 10 flowey_lib_hvlite::run_cargo_build 19 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 9 flowey_lib_hvlite::run_cargo_build 20 flowey_lib_hvlite::build_vmm_perf 0 flowey_core::pipeline::artifact::publish 5 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 11 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 flowey_lib_hvlite::init_cross_build 12 | |
| - name: cargo build vmm_perf | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 11 flowey_lib_hvlite::run_cargo_build 21 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 10 flowey_lib_hvlite::run_cargo_build 22 flowey_lib_hvlite::build_vmm_perf 1 flowey_core::pipeline::artifact::publish 6 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build openvmm | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 4 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 1 flowey_lib_hvlite::run_cargo_build 5 flowey_lib_hvlite::build_openvmm 0 flowey_core::pipeline::artifact::publish 7 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build openvmm_vhost | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 6 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 2 flowey_lib_hvlite::run_cargo_build 7 flowey_lib_hvlite::build_openvmm_vhost 0 flowey_core::pipeline::artifact::publish 8 | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 11 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - 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' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| 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' --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_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey e 11 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey e 11 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: build + archive 'vmm_tests' nextests | |
| run: flowey e 11 flowey_lib_common::run_cargo_nextest_archive 0 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey_core::pipeline::artifact::publish 9 flowey_lib_hvlite::init_cross_build 10 | |
| - name: cargo build openvmm_vhost | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 4 flowey_lib_hvlite::run_cargo_build 8 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 3 flowey_lib_hvlite::run_cargo_build 9 flowey_lib_hvlite::build_openvmm_vhost 1 flowey_core::pipeline::artifact::publish 10 flowey_lib_hvlite::init_cross_build 11 | |
| - name: cargo build prep_steps | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 5 flowey_lib_hvlite::run_cargo_build 10 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 4 flowey_lib_hvlite::run_cargo_build 11 flowey_lib_hvlite::build_prep_steps 0 flowey_core::pipeline::artifact::publish 11 flowey_lib_hvlite::init_cross_build 4 | |
| - name: cargo build tpm_guest_tests | |
| run: flowey e 11 flowey_lib_common::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 12 | |
| - name: split debug symbols | |
| run: flowey e 11 flowey_lib_hvlite::run_split_debug_info 5 flowey_lib_hvlite::run_cargo_build 13 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey_core::pipeline::artifact::publish 12 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 11 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 11 flowey_lib_common::cache 7 | |
| - name: πΌπ¦ Publish aarch64-linux-igvmfilegen | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-igvmfilegen | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-musl-openvmm_vhost | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-openvmm_vhost | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-musl-prep_steps | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-prep_steps | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-prep_steps/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-musl-vmm-perf-runner | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-vmm-perf-runner | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-perf-runner/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-ohcldiag-dev | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-openvmm_vhost | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-openvmm_vhost | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm_vhost/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-tpm_guest_tests | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-tpm_guest_tests | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-tpm_guest_tests/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-vmgs_lib | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-vmgstool | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-vmgstool-dev | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-vmgstool-dev | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-vmm-perf-runner | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-vmm-perf-runner | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmm-perf-runner/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-vmm-tests-archive | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmm-tests-archive/ | |
| include-hidden-files: true | |
| job12: | |
| name: build artifacts (for VMM tests) [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job12-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 12 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 12 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 12 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 12 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-prep_steps" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-prep_steps" | flowey v 12 'artifact_publish_from_x64-linux-musl-prep_steps' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 12 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | flowey v 12 'artifact_publish_from_x64-linux-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" | flowey v 12 'artifact_publish_from_x64-linux-openvmm_vhost' --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 12 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey e 12 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 12 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 12 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 12 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 12 flowey_lib_common::install_dist_pkg 1 | |
| - 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' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 12 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 12 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 12 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 12 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 12 flowey_lib_common::download_gh_release 0 | |
| - 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' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| 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' --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_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey e 12 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 4 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 12 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| - name: cargo build openvmm | |
| run: flowey e 12 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 2 | |
| - name: split debug symbols | |
| run: flowey e 12 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 3 flowey_lib_hvlite::build_openvmm 1 flowey_core::pipeline::artifact::publish 0 | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 12 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - 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' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| 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' --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_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey e 12 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey e 12 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 3 | |
| - name: build + archive 'vmm_tests' nextests | |
| run: flowey e 12 flowey_lib_common::run_cargo_nextest_archive 1 flowey_lib_hvlite::build_nextest_vmm_tests 1 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build openvmm | |
| run: flowey e 12 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 12 flowey_lib_hvlite::run_split_debug_info 4 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_openvmm 0 flowey_core::pipeline::artifact::publish 2 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build openvmm_vhost | |
| run: flowey e 12 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 4 | |
| - name: split debug symbols | |
| run: flowey e 12 flowey_lib_hvlite::run_split_debug_info 1 flowey_lib_hvlite::run_cargo_build 5 flowey_lib_hvlite::build_openvmm_vhost 0 flowey_core::pipeline::artifact::publish 3 flowey_lib_hvlite::init_cross_build 0 | |
| - name: build + archive 'vmm_tests' nextests | |
| run: flowey e 12 flowey_lib_common::run_cargo_nextest_archive 0 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey_core::pipeline::artifact::publish 4 flowey_lib_hvlite::init_cross_build 5 | |
| - name: cargo build openvmm_vhost | |
| run: flowey e 12 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 6 | |
| - name: split debug symbols | |
| run: flowey e 12 flowey_lib_hvlite::run_split_debug_info 2 flowey_lib_hvlite::run_cargo_build 7 flowey_lib_hvlite::build_openvmm_vhost 1 flowey_core::pipeline::artifact::publish 5 flowey_lib_hvlite::init_cross_build 6 | |
| - name: cargo build prep_steps | |
| run: flowey e 12 flowey_lib_common::run_cargo_build 4 flowey_lib_hvlite::run_cargo_build 8 | |
| - name: split debug symbols | |
| run: flowey e 12 flowey_lib_hvlite::run_split_debug_info 3 flowey_lib_hvlite::run_cargo_build 9 flowey_lib_hvlite::build_prep_steps 0 flowey_core::pipeline::artifact::publish 6 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 12 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 12 flowey_lib_common::cache 7 | |
| - name: πΌπ¦ Publish x64-linux-musl-openvmm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-musl-openvmm_vhost | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-openvmm_vhost | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-musl-prep_steps | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-prep_steps | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-prep_steps/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-musl-vmm-tests-archive | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-tests-archive/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-openvmm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-openvmm_vhost | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-openvmm_vhost | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm_vhost/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-vmm-tests-archive | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/ | |
| include-hidden-files: true | |
| job13: | |
| name: build artifacts (not for VMM tests) [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job13-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 13 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 13 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 13 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 13 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 13 'artifact_publish_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | flowey v 13 'artifact_publish_from_x64-linux-ohcldiag-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | flowey v 13 '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 13 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | flowey v 13 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" | flowey v 13 'artifact_publish_from_x64-linux-vmm-perf-runner' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey e 13 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 13 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 13 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 13 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 13 flowey_lib_common::install_dist_pkg 1 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 13 flowey_lib_common::git_checkout 0 | |
| flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 13 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 13 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 13 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 13 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 13 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 13 flowey_lib_common::cache 0 | |
| flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 13 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 13 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey e 13 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 13 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build vmgstool | |
| run: flowey e 13 flowey_lib_common::run_cargo_build 4 flowey_lib_hvlite::run_cargo_build 7 | |
| - name: split debug symbols | |
| run: flowey e 13 flowey_lib_hvlite::run_split_debug_info 2 flowey_lib_hvlite::run_cargo_build 8 flowey_lib_hvlite::build_vmgstool 0 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build vmgstool | |
| run: flowey e 13 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 5 | |
| - name: split debug symbols | |
| run: flowey e 13 flowey_lib_hvlite::run_split_debug_info 1 flowey_lib_hvlite::run_cargo_build 6 flowey_lib_hvlite::build_vmgstool 1 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo build vmgs_lib | |
| run: flowey e 13 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
| - name: test vmgs_lib | |
| run: flowey e 13 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey_core::pipeline::artifact::publish 2 flowey_lib_hvlite::init_cross_build 3 | |
| - name: cargo build igvmfilegen | |
| run: flowey e 13 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 13 flowey_lib_hvlite::run_split_debug_info 5 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_igvmfilegen 0 flowey_core::pipeline::artifact::publish 3 flowey_lib_hvlite::init_cross_build 5 | |
| - name: cargo build ohcldiag-dev | |
| run: flowey e 13 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 2 | |
| - name: split debug symbols | |
| run: flowey e 13 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 3 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey_core::pipeline::artifact::publish 4 flowey_lib_hvlite::init_cross_build 4 | |
| - name: cargo build vmm_perf | |
| run: flowey e 13 flowey_lib_common::run_cargo_build 5 flowey_lib_hvlite::run_cargo_build 9 | |
| - name: split debug symbols | |
| run: flowey e 13 flowey_lib_hvlite::run_split_debug_info 3 flowey_lib_hvlite::run_cargo_build 10 flowey_lib_hvlite::build_vmm_perf 0 flowey_core::pipeline::artifact::publish 5 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 13 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: flowey e 13 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 flowey_lib_hvlite::init_cross_build 6 | |
| - name: cargo build vmm_perf | |
| run: flowey e 13 flowey_lib_common::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 11 | |
| - name: split debug symbols | |
| run: flowey e 13 flowey_lib_hvlite::run_split_debug_info 4 flowey_lib_hvlite::run_cargo_build 12 flowey_lib_hvlite::build_vmm_perf 1 flowey_core::pipeline::artifact::publish 6 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 13 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish x64-linux-igvmfilegen | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-igvmfilegen | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-musl-vmm-perf-runner | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-vmm-perf-runner | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-perf-runner/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-ohcldiag-dev | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-ohcldiag-dev | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-vmgs_lib | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-vmgstool | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-vmgstool-dev | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-vmgstool-dev | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-vmm-perf-runner | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-vmm-perf-runner | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-perf-runner/ | |
| include-hidden-files: true | |
| job14: | |
| name: build openhcl [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job14-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 14 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 14 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 14 '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 14 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 14 flowey_lib_common::git_checkout 0 | |
| flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 14 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 14 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 14 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
| - name: add default cargo home to path | |
| run: flowey e 14 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 14 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 14 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 14 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 14 flowey_lib_common::cache 0 | |
| flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar1 | |
| flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar1 }} | |
| path: ${{ env.floweyvar2 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 14 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 14 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 14 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 14 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 14 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 14 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack protoc | |
| run: flowey e 14 flowey_lib_common::resolve_protoc 0 | |
| - name: symlink protoc | |
| run: flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 1 flowey_lib_hvlite::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 7 | |
| - name: cargo build openvmm_hcl | |
| run: flowey e 14 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 8 flowey_lib_hvlite::build_openvmm_hcl 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
| - name: split debug symbols | |
| run: flowey e 14 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
| - name: extract and resolve kernel package | |
| run: flowey e 14 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| - name: building openhcl initrd | |
| run: flowey e 14 flowey_lib_hvlite::build_openhcl_initrd 0 flowey_lib_hvlite::init_cross_build 0 flowey_lib_hvlite::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 3 | |
| - name: cargo build openhcl_boot | |
| run: flowey e 14 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 4 | |
| - name: split debug symbols | |
| run: flowey e 14 flowey_lib_hvlite::run_split_debug_info 1 flowey_lib_hvlite::run_cargo_build 5 flowey_lib_hvlite::build_openhcl_boot 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 | |
| - name: unpack mu_msvm package (aarch64) | |
| run: flowey e 14 flowey_lib_hvlite::download_uefi_mu_msvm 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build igvmfilegen | |
| run: flowey e 14 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 14 flowey_lib_hvlite::run_split_debug_info 2 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_igvmfilegen 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 | |
| - name: building igvm file | |
| run: flowey e 14 flowey_lib_hvlite::run_igvmfilegen 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 flowey_core::pipeline::artifact::publish 1 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 14 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish aarch64-openhcl-igvm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-openhcl-igvm-extras | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/ | |
| include-hidden-files: true | |
| job15: | |
| name: build openhcl [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job15-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 15 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 15 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 15 'artifact_publish_from_x64-openhcl-igvm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-cvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-cvm" | flowey v 15 'artifact_publish_from_x64-openhcl-igvm-cvm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-cvm-extras" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-cvm-extras" | flowey v 15 'artifact_publish_from_x64-openhcl-igvm-cvm-extras' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | flowey v 15 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-test-linux-direct" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-test-linux-direct" | flowey v 15 'artifact_publish_from_x64-openhcl-igvm-test-linux-direct' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-test-linux-direct-extras" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-test-linux-direct-extras" | flowey v 15 'artifact_publish_from_x64-openhcl-igvm-test-linux-direct-extras' --is-raw-string update | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 15 flowey_lib_common::git_checkout 0 | |
| flowey v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 15 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 15 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 15 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
| - name: add default cargo home to path | |
| run: flowey e 15 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 15 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 15 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 15 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 15 flowey_lib_common::cache 0 | |
| flowey v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar1 | |
| flowey v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar1 }} | |
| path: ${{ env.floweyvar2 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 15 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 15 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 15 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: flowey e 15 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 15 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 15 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 15 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack protoc | |
| run: flowey e 15 flowey_lib_common::resolve_protoc 0 | |
| - name: symlink protoc | |
| run: flowey e 15 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 3 flowey_lib_hvlite::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 7 | |
| - name: cargo build openvmm_hcl | |
| run: flowey e 15 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 8 flowey_lib_hvlite::build_openvmm_hcl 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
| - name: split debug symbols | |
| run: flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
| - name: extract and resolve kernel package | |
| run: flowey e 15 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| - name: building openhcl initrd | |
| run: flowey e 15 flowey_lib_hvlite::build_openhcl_initrd 0 flowey_lib_hvlite::init_cross_build 0 flowey_lib_hvlite::run_cargo_build 9 flowey_lib_hvlite::run_cargo_build 10 | |
| - name: cargo build sidecar | |
| run: flowey e 15 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 11 | |
| - name: split debug symbols | |
| run: flowey e 15 flowey_lib_hvlite::run_split_debug_info 4 flowey_lib_hvlite::run_cargo_build 12 flowey_lib_hvlite::build_sidecar 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 flowey_lib_hvlite::init_cross_build 1 flowey_lib_hvlite::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 3 | |
| - name: cargo build openhcl_boot | |
| run: flowey e 15 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 4 | |
| - name: split debug symbols | |
| run: flowey e 15 flowey_lib_hvlite::run_split_debug_info 3 flowey_lib_hvlite::run_cargo_build 5 flowey_lib_hvlite::build_openhcl_boot 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 15 flowey_lib_hvlite::download_uefi_mu_msvm 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build igvmfilegen | |
| run: flowey e 15 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 15 flowey_lib_hvlite::run_split_debug_info 5 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_igvmfilegen 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
| - name: building igvm file | |
| run: flowey e 15 flowey_lib_hvlite::run_igvmfilegen 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 15 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey e 15 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 | |
| - name: split debug symbols | |
| run: flowey e 15 flowey_lib_hvlite::run_split_debug_info 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 | |
| - name: building openhcl initrd | |
| run: flowey e 15 flowey_lib_hvlite::build_openhcl_initrd 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 | |
| - name: building igvm file | |
| run: flowey e 15 flowey_lib_hvlite::run_igvmfilegen 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 flowey_core::pipeline::artifact::publish 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36 flowey_core::pipeline::artifact::publish 3 | |
| - name: extract and resolve kernel package | |
| run: flowey e 15 flowey_lib_hvlite::resolve_openhcl_kernel_package 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
| - name: split debug symbols | |
| run: flowey e 15 flowey_lib_hvlite::run_split_debug_info 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
| - name: building openhcl initrd | |
| run: flowey e 15 flowey_lib_hvlite::build_openhcl_initrd 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
| - name: building igvm file | |
| run: flowey e 15 flowey_lib_hvlite::run_igvmfilegen 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 flowey_core::pipeline::artifact::publish 4 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 flowey_core::pipeline::artifact::publish 5 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 15 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish x64-openhcl-igvm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-openhcl-igvm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-openhcl-igvm-cvm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-openhcl-igvm-cvm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-cvm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-openhcl-igvm-cvm-extras | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-openhcl-igvm-cvm-extras | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-cvm-extras/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-openhcl-igvm-extras | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-openhcl-igvm-extras | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-openhcl-igvm-test-linux-direct | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-openhcl-igvm-test-linux-direct | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-test-linux-direct/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-openhcl-igvm-test-linux-direct-extras | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-openhcl-igvm-test-linux-direct-extras | |
| path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-test-linux-direct-extras/ | |
| include-hidden-files: true | |
| job16: | |
| name: build openhcl (mi-secure) [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job16-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 16 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 16 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 16 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm" | flowey v 16 'artifact_publish_from_x64-mi-secure-openhcl-igvm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-cvm" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-cvm" | flowey v 16 'artifact_publish_from_x64-mi-secure-openhcl-igvm-cvm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-cvm-extras" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-cvm-extras" | flowey v 16 'artifact_publish_from_x64-mi-secure-openhcl-igvm-cvm-extras' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-extras" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-extras" | flowey v 16 'artifact_publish_from_x64-mi-secure-openhcl-igvm-extras' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-test-linux-direct" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-test-linux-direct" | flowey v 16 'artifact_publish_from_x64-mi-secure-openhcl-igvm-test-linux-direct' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-test-linux-direct-extras" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-test-linux-direct-extras" | flowey v 16 'artifact_publish_from_x64-mi-secure-openhcl-igvm-test-linux-direct-extras' --is-raw-string update | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 16 flowey_lib_common::git_checkout 0 | |
| flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 16 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 16 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 16 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3 | |
| - name: add default cargo home to path | |
| run: flowey e 16 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 16 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 16 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 16 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 16 flowey_lib_common::cache 0 | |
| flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar1 | |
| flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar1 }} | |
| path: ${{ env.floweyvar2 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 16 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 16 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 16 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 16 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 16 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack protoc | |
| run: flowey e 16 flowey_lib_common::resolve_protoc 0 | |
| - name: symlink protoc | |
| run: flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 3 flowey_lib_hvlite::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 7 | |
| - name: cargo build openvmm_hcl | |
| run: flowey e 16 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 8 flowey_lib_hvlite::build_openvmm_hcl 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0 | |
| - name: split debug symbols | |
| run: flowey e 16 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4 | |
| - name: extract and resolve kernel package | |
| run: flowey e 16 flowey_lib_hvlite::resolve_openhcl_kernel_package 0 | |
| - name: building openhcl initrd | |
| run: flowey e 16 flowey_lib_hvlite::build_openhcl_initrd 0 flowey_lib_hvlite::init_cross_build 0 flowey_lib_hvlite::run_cargo_build 9 flowey_lib_hvlite::run_cargo_build 10 | |
| - name: cargo build sidecar | |
| run: flowey e 16 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 11 | |
| - name: split debug symbols | |
| run: flowey e 16 flowey_lib_hvlite::run_split_debug_info 4 flowey_lib_hvlite::run_cargo_build 12 flowey_lib_hvlite::build_sidecar 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5 flowey_lib_hvlite::init_cross_build 1 flowey_lib_hvlite::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 3 | |
| - name: cargo build openhcl_boot | |
| run: flowey e 16 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 4 | |
| - name: split debug symbols | |
| run: flowey e 16 flowey_lib_hvlite::run_split_debug_info 3 flowey_lib_hvlite::run_cargo_build 5 flowey_lib_hvlite::build_openhcl_boot 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 16 flowey_lib_hvlite::download_uefi_mu_msvm 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build igvmfilegen | |
| run: flowey e 16 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 16 flowey_lib_hvlite::run_split_debug_info 5 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_igvmfilegen 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9 | |
| - name: building igvm file | |
| run: flowey e 16 flowey_lib_hvlite::run_igvmfilegen 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 16 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey e 16 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 | |
| - name: split debug symbols | |
| run: flowey e 16 flowey_lib_hvlite::run_split_debug_info 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 | |
| - name: building openhcl initrd | |
| run: flowey e 16 flowey_lib_hvlite::build_openhcl_initrd 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 | |
| - name: building igvm file | |
| run: flowey e 16 flowey_lib_hvlite::run_igvmfilegen 0 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 flowey_core::pipeline::artifact::publish 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36 flowey_core::pipeline::artifact::publish 3 | |
| - name: extract and resolve kernel package | |
| run: flowey e 16 flowey_lib_hvlite::resolve_openhcl_kernel_package 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13 | |
| - name: split debug symbols | |
| run: flowey e 16 flowey_lib_hvlite::run_split_debug_info 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17 | |
| - name: building openhcl initrd | |
| run: flowey e 16 flowey_lib_hvlite::build_openhcl_initrd 1 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 | |
| - name: building igvm file | |
| run: flowey e 16 flowey_lib_hvlite::run_igvmfilegen 2 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 flowey_core::pipeline::artifact::publish 4 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 flowey_core::pipeline::artifact::publish 5 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 16 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish x64-mi-secure-openhcl-igvm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-mi-secure-openhcl-igvm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-mi-secure-openhcl-igvm-cvm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-mi-secure-openhcl-igvm-cvm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm-cvm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-mi-secure-openhcl-igvm-cvm-extras | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-mi-secure-openhcl-igvm-cvm-extras | |
| path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm-cvm-extras/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-mi-secure-openhcl-igvm-extras | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-mi-secure-openhcl-igvm-extras | |
| path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm-extras/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-mi-secure-openhcl-igvm-test-linux-direct | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-mi-secure-openhcl-igvm-test-linux-direct | |
| path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm-test-linux-direct/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-mi-secure-openhcl-igvm-test-linux-direct-extras | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-mi-secure-openhcl-igvm-test-linux-direct-extras | |
| path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm-test-linux-direct-extras/ | |
| include-hidden-files: true | |
| job17: | |
| name: clippy [x64-windows], unit tests [x64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job17-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 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 | |
| - name: add default cargo home to path | |
| run: flowey.exe e 17 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 17 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 17 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - 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' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar8 | |
| flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar8 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 17 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 17 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 17 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 17 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 17 flowey_lib_common::download_gh_release 0 | |
| - 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' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 17 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 17 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 17 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 0 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build xtask | |
| run: flowey.exe e 17 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::build_xtask 0 | |
| - name: determine clippy exclusions | |
| run: flowey.exe e 17 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| - name: cargo clippy | |
| run: flowey.exe e 17 flowey_lib_common::run_cargo_clippy 0 | |
| - name: cargo clippy | |
| run: flowey.exe e 17 flowey_lib_common::run_cargo_clippy 1 | |
| - name: cargo clippy | |
| run: flowey.exe e 17 flowey_lib_common::run_cargo_clippy 2 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 17 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - 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' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 17 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey.exe e 17 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 1 flowey_lib_hvlite::run_cargo_nextest_run 2 | |
| - name: generate nextest command | |
| run: flowey.exe e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests | |
| run: |- | |
| flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 4 flowey_lib_common::run_cargo_nextest_run 5 flowey_lib_common::publish_test_results 6 flowey_lib_common::publish_test_results 7 | |
| flowey.exe v 17 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 | |
| flowey.exe v 17 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__8 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-unit-tests-crypto-rust-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: determine unit test exclusions | |
| run: flowey.exe e 17 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| - name: generate nextest command | |
| run: flowey.exe e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| - name: run 'x64-windows-unit-tests-base' nextest tests | |
| run: |- | |
| flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 17 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-unit-tests-base-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-unit-tests-base (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey.exe e 17 flowey_lib_hvlite::run_cargo_nextest_run 1 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: run 'x64-windows-unit-tests-crypto-native' nextest tests | |
| run: |- | |
| flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 2 flowey_lib_common::run_cargo_nextest_run 3 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 | |
| flowey.exe v 17 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 17 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__5 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-unit-tests-crypto-native-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| - name: run doctests for x86_64-pc-windows-msvc | |
| run: flowey.exe e 17 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 17 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 17 flowey_lib_common::cache 7 | |
| job18: | |
| name: clippy [macos], unit tests [x64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job18-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 18 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 18 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 18 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: add default cargo home to path | |
| run: flowey e 18 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 18 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 18 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 18 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 18 flowey_lib_common::install_dist_pkg 1 | |
| - 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' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar10 | |
| flowey v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar10 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 18 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 18 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 18 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 18 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 18 flowey_lib_common::download_gh_release 0 | |
| - 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' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 18 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey e 18 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 18 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build xtask | |
| run: flowey e 18 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_xtask 0 | |
| - name: determine clippy exclusions | |
| run: flowey e 18 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 1 | |
| - name: cargo clippy | |
| run: flowey e 18 flowey_lib_common::run_cargo_clippy 2 | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 18 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - 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' --is-raw-string write-to-env github floweyvar6 | |
| flowey v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey e 18 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey e 18 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 0 flowey_lib_hvlite::run_cargo_nextest_run 4 | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 | |
| - name: run 'x64-linux-unit-tests-crypto-rust' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 flowey_lib_common::run_cargo_nextest_run 9 flowey_lib_common::publish_test_results 6 flowey_lib_common::publish_test_results 7 | |
| flowey v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 | |
| flowey v 18 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__8 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-unit-tests-crypto-rust-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: x64-linux-unit-tests-crypto-rust (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| - name: run 'x64-linux-unit-tests-crypto-openssl' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 flowey_lib_common::run_cargo_nextest_run 7 flowey_lib_common::publish_test_results 9 flowey_lib_common::publish_test_results 10 | |
| flowey v 18 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 | |
| flowey v 18 'flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__11 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-unit-tests-crypto-openssl-junit-xml | |
| path: ${{ env.floweyvar4 }} | |
| name: 'publish test results: x64-linux-unit-tests-crypto-openssl (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: run 'x64-linux-unit-tests-crypto-all' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 flowey_lib_common::run_cargo_nextest_run 3 flowey_lib_common::publish_test_results 12 flowey_lib_common::publish_test_results 13 | |
| flowey v 18 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 | |
| flowey v 18 'flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__14 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-unit-tests-crypto-all-junit-xml | |
| path: ${{ env.floweyvar5 }} | |
| name: 'publish test results: x64-linux-unit-tests-crypto-all (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: determine unit test exclusions | |
| run: flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 | |
| - name: run 'x64-linux-unit-tests-base' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-unit-tests-base-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-unit-tests-base (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| - name: run 'x64-linux-unit-tests-crypto-native' nextest tests | |
| run: |- | |
| flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 flowey_lib_common::run_cargo_nextest_run 5 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 | |
| flowey v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 18 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__5 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-unit-tests-crypto-native-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-unit-tests-crypto-native (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| - name: run doctests for x86_64-unknown-linux-gnu | |
| run: flowey e 18 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 18 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 18 flowey_lib_common::cache 7 | |
| job19: | |
| name: clippy [x64-linux-musl, misc nostd], unit tests [x64-linux-musl] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job19-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 19 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 19 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 19 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: add default cargo home to path | |
| run: flowey e 19 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 19 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 19 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 19 flowey_lib_common::git_checkout 0 | |
| flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar11 | |
| flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar11 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 19 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 19 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 19 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 19 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 19 flowey_lib_common::cache 4 | |
| flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar10 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar9 }} | |
| path: ${{ env.floweyvar10 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 19 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 19 flowey_lib_common::cache 6 flowey_lib_common::download_gh_release 1 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 19 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: flowey e 19 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 19 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 19 flowey_lib_common::install_dist_pkg 1 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 19 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: unpack protoc | |
| run: flowey e 19 flowey_lib_common::resolve_protoc 0 | |
| - name: symlink protoc | |
| run: flowey e 19 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 3 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 5 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 1 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 7 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 6 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 8 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo build xtask | |
| run: flowey e 19 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 19 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_xtask 0 | |
| - name: determine clippy exclusions | |
| run: flowey e 19 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 2 | |
| - name: cargo clippy | |
| run: flowey e 19 flowey_lib_common::run_cargo_clippy 4 | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 19 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 19 flowey_lib_common::cache 0 | |
| flowey v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar7 }} | |
| path: ${{ env.floweyvar8 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 19 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey e 19 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey e 19 flowey_lib_common::install_cargo_nextest 0 | |
| - name: determine unit test exclusions | |
| run: flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey_lib_hvlite::init_cross_build 2 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| - name: generate nextest command | |
| run: flowey e 19 flowey_lib_common::gen_cargo_nextest_run_cmd 5 | |
| - name: run 'x64-linux-musl-unit-tests-base' nextest tests | |
| run: |- | |
| flowey e 19 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_common::publish_test_results 6 flowey_lib_common::publish_test_results 7 | |
| flowey v 19 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 | |
| flowey v 19 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__8 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-unit-tests-base-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 19 flowey_lib_hvlite::run_cargo_nextest_run 2 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests | |
| run: |- | |
| flowey e 19 flowey_lib_common::run_cargo_nextest_run 4 flowey_lib_common::run_cargo_nextest_run 5 flowey_lib_common::publish_test_results 9 flowey_lib_common::publish_test_results 10 | |
| flowey v 19 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 | |
| flowey v 19 'flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__11 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-unit-tests-crypto-native-junit-xml | |
| path: ${{ env.floweyvar4 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 19 flowey_lib_hvlite::run_cargo_nextest_run 4 flowey_lib_common::gen_cargo_nextest_run_cmd 3 | |
| - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests | |
| run: |- | |
| flowey e 19 flowey_lib_common::run_cargo_nextest_run 8 flowey_lib_common::run_cargo_nextest_run 9 flowey_lib_common::publish_test_results 12 flowey_lib_common::publish_test_results 13 | |
| flowey v 19 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 | |
| flowey v 19 'flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__14 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-unit-tests-crypto-rust-junit-xml | |
| path: ${{ env.floweyvar5 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 19 flowey_lib_hvlite::run_cargo_nextest_run 3 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests | |
| run: |- | |
| flowey e 19 flowey_lib_common::run_cargo_nextest_run 6 flowey_lib_common::run_cargo_nextest_run 7 flowey_lib_common::publish_test_results 15 flowey_lib_common::publish_test_results 16 | |
| flowey v 19 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 | |
| flowey v 19 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__17 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml | |
| path: ${{ env.floweyvar6 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 19 flowey_lib_hvlite::run_cargo_nextest_run 5 flowey_lib_common::gen_cargo_nextest_run_cmd 4 | |
| - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests | |
| run: |- | |
| flowey e 19 flowey_lib_common::run_cargo_nextest_run 10 flowey_lib_common::run_cargo_nextest_run 11 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 19 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 19 flowey_lib_hvlite::run_cargo_nextest_run 1 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests | |
| run: |- | |
| flowey e 19 flowey_lib_common::run_cargo_nextest_run 2 flowey_lib_common::run_cargo_nextest_run 3 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 | |
| flowey v 19 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 19 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__5 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-unit-tests-crypto-all-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| - name: run doctests for x86_64-unknown-linux-musl | |
| run: flowey e 19 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 19 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 19 flowey_lib_common::cache 7 | |
| job2: | |
| name: cargo hack (linux) | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 2 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 2 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 2 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 2 flowey_lib_common::git_checkout 0 | |
| flowey v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 2 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 2 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 2 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 2 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 2 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 2 flowey_lib_common::cache 4 | |
| flowey v 2 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 2 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 2 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 2 flowey_lib_common::cache 6 flowey_lib_common::download_gh_release 1 | |
| - name: checking if packages need to be installed | |
| run: flowey e 2 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 2 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack protoc | |
| run: flowey e 2 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 2 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| - name: add default cargo home to path | |
| run: flowey e 2 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 2 flowey_lib_common::install_rust 1 | |
| - name: create cargo-hack cache dir | |
| run: flowey e 2 flowey_lib_common::install_cargo_hack 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 2 flowey_lib_common::cache 0 | |
| flowey v 2 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 2 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: cargo-hack' | |
| - name: detect active toolchain | |
| run: |- | |
| flowey v 2 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 2 flowey_lib_common::cache 2 flowey_lib_common::cfg_persistent_dir_cargo_install 0 flowey_lib_common::install_rust 2 | |
| - name: report $CARGO_HOME | |
| run: flowey e 2 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-hack | |
| run: flowey e 2 flowey_lib_common::install_cargo_hack 1 | |
| - name: run cargo hack | |
| run: flowey e 2 flowey_lib_hvlite::_jobs::check_cargo_hack 0 | |
| - name: 'validate cache entry: cargo-hack' | |
| run: flowey e 2 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 2 flowey_lib_common::cache 7 | |
| job20: | |
| name: clippy [aarch64-windows], unit tests [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-arm-westus3 | |
| - 1ES.ImageOverride=win-arm64-v2 | |
| - JobId=job20-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 20 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 20 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: add default cargo home to path | |
| run: flowey.exe e 20 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 20 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 20 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar8 | |
| flowey.exe v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar8 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 20 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 20 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 20 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 20 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 20 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::cache 4 | |
| flowey.exe v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 20 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 20 flowey_lib_common::cache 6 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 20 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 20 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 0 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build xtask | |
| run: flowey.exe e 20 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::build_xtask 0 | |
| - name: determine clippy exclusions | |
| run: flowey.exe e 20 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| - name: cargo clippy | |
| run: flowey.exe e 20 flowey_lib_common::run_cargo_clippy 0 | |
| - name: cargo clippy | |
| run: flowey.exe e 20 flowey_lib_common::run_cargo_clippy 1 | |
| - name: cargo clippy | |
| run: flowey.exe e 20 flowey_lib_common::run_cargo_clippy 2 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::cache 0 | |
| flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 20 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 20 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey.exe e 20 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 1 flowey_lib_hvlite::run_cargo_nextest_run 2 | |
| - name: generate nextest command | |
| run: flowey.exe e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 4 flowey_lib_common::run_cargo_nextest_run 5 flowey_lib_common::publish_test_results 6 flowey_lib_common::publish_test_results 7 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__8 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-unit-tests-crypto-rust-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: determine unit test exclusions | |
| run: flowey.exe e 20 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| - name: generate nextest command | |
| run: flowey.exe e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| - name: run 'aarch64-windows-unit-tests-base' nextest tests | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-unit-tests-base-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-windows-unit-tests-base (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey.exe e 20 flowey_lib_hvlite::run_cargo_nextest_run 1 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: run 'aarch64-windows-unit-tests-crypto-native' nextest tests | |
| run: |- | |
| flowey.exe e 20 flowey_lib_common::run_cargo_nextest_run 2 flowey_lib_common::run_cargo_nextest_run 3 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 20 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__5 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-unit-tests-crypto-native-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 20 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| - name: run doctests for aarch64-pc-windows-msvc | |
| run: flowey.exe e 20 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 20 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 20 flowey_lib_common::cache 7 | |
| job21: | |
| name: clippy [aarch64-linux], unit tests [aarch64-linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-arm-westus2 | |
| - 1ES.ImageOverride=ubuntu2404-arm64 | |
| - JobId=job21-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 21 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 21 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 21 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 21 flowey_lib_common::git_checkout 0 | |
| flowey v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar10 | |
| flowey v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar10 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 21 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 21 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 21 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 21 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 21 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 21 flowey_lib_common::cache 4 | |
| flowey v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 21 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 21 flowey_lib_common::cache 6 flowey_lib_common::download_gh_release 1 | |
| - name: checking if packages need to be installed | |
| run: flowey e 21 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 21 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack protoc | |
| run: flowey e 21 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 21 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 | |
| - name: add default cargo home to path | |
| run: flowey e 21 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 21 flowey_lib_common::install_rust 1 | |
| - name: run doctests for aarch64-unknown-linux-gnu | |
| run: flowey e 21 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| - name: detect active toolchain | |
| run: flowey e 21 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo clippy | |
| run: flowey e 21 flowey_lib_common::run_cargo_clippy 1 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build xtask | |
| run: flowey e 21 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 21 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_xtask 0 | |
| - name: determine clippy exclusions | |
| run: flowey e 21 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 21 flowey_lib_common::run_cargo_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 21 flowey_lib_common::run_cargo_clippy 2 | |
| - name: cargo clippy | |
| run: flowey e 21 flowey_lib_common::run_cargo_clippy 4 | |
| - name: cargo clippy | |
| run: flowey e 21 flowey_lib_common::run_cargo_clippy 3 | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 21 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 21 flowey_lib_common::cache 0 | |
| flowey v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 21 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey e 21 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey e 21 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 1 flowey_lib_hvlite::run_cargo_nextest_run 4 | |
| - name: generate nextest command | |
| run: flowey e 21 flowey_lib_common::gen_cargo_nextest_run_cmd 3 | |
| - name: run 'aarch64-linux-unit-tests-crypto-rust' nextest tests | |
| run: |- | |
| flowey e 21 flowey_lib_common::run_cargo_nextest_run 8 flowey_lib_common::run_cargo_nextest_run 9 flowey_lib_common::publish_test_results 6 flowey_lib_common::publish_test_results 7 | |
| flowey v 21 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 | |
| flowey v 21 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__8 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-unit-tests-crypto-rust-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: aarch64-linux-unit-tests-crypto-rust (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 21 flowey_lib_hvlite::run_cargo_nextest_run 3 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| - name: run 'aarch64-linux-unit-tests-crypto-openssl' nextest tests | |
| run: |- | |
| flowey e 21 flowey_lib_common::run_cargo_nextest_run 6 flowey_lib_common::run_cargo_nextest_run 7 flowey_lib_common::publish_test_results 9 flowey_lib_common::publish_test_results 10 | |
| flowey v 21 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 | |
| flowey v 21 'flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__11 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-unit-tests-crypto-openssl-junit-xml | |
| path: ${{ env.floweyvar4 }} | |
| name: 'publish test results: aarch64-linux-unit-tests-crypto-openssl (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 21 flowey_lib_hvlite::run_cargo_nextest_run 1 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: run 'aarch64-linux-unit-tests-crypto-all' nextest tests | |
| run: |- | |
| flowey e 21 flowey_lib_common::run_cargo_nextest_run 2 flowey_lib_common::run_cargo_nextest_run 3 flowey_lib_common::publish_test_results 12 flowey_lib_common::publish_test_results 13 | |
| flowey v 21 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 | |
| flowey v 21 'flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__14 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-unit-tests-crypto-all-junit-xml | |
| path: ${{ env.floweyvar5 }} | |
| name: 'publish test results: aarch64-linux-unit-tests-crypto-all (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: determine unit test exclusions | |
| run: flowey e 21 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| - name: generate nextest command | |
| run: flowey e 21 flowey_lib_common::gen_cargo_nextest_run_cmd 4 | |
| - name: run 'aarch64-linux-unit-tests-base' nextest tests | |
| run: |- | |
| flowey e 21 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 21 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 21 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-unit-tests-base-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-linux-unit-tests-base (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 21 flowey_lib_hvlite::run_cargo_nextest_run 2 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| - name: run 'aarch64-linux-unit-tests-crypto-native' nextest tests | |
| run: |- | |
| flowey e 21 flowey_lib_common::run_cargo_nextest_run 4 flowey_lib_common::run_cargo_nextest_run 5 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 | |
| flowey v 21 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 21 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__5 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-unit-tests-crypto-native-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-linux-unit-tests-crypto-native (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 21 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 21 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 21 flowey_lib_common::cache 7 | |
| job22: | |
| name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-arm-westus2 | |
| - 1ES.ImageOverride=ubuntu2404-arm64 | |
| - JobId=job22-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 22 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 22 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 22 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: add default cargo home to path | |
| run: flowey e 22 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 22 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 22 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 22 flowey_lib_common::git_checkout 0 | |
| flowey v 22 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar11 | |
| flowey v 22 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar11 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey v 22 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 22 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 22 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 22 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 22 flowey_lib_common::cache 4 | |
| flowey v 22 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| flowey v 22 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar10 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar9 }} | |
| path: ${{ env.floweyvar10 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 22 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey e 22 flowey_lib_common::cache 6 flowey_lib_common::download_gh_release 1 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 22 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: flowey e 22 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 22 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 22 flowey_lib_common::install_dist_pkg 1 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 22 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: unpack protoc | |
| run: flowey e 22 flowey_lib_common::resolve_protoc 0 | |
| - name: symlink protoc | |
| run: flowey e 22 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 3 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 5 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 1 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 7 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 6 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 8 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo build xtask | |
| run: flowey e 22 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 22 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_xtask 0 | |
| - name: determine clippy exclusions | |
| run: flowey e 22 flowey_lib_hvlite::_jobs::check_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 0 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 2 | |
| - name: cargo clippy | |
| run: flowey e 22 flowey_lib_common::run_cargo_clippy 4 | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 22 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 22 flowey_lib_common::cache 0 | |
| flowey v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| flowey v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar7 }} | |
| path: ${{ env.floweyvar8 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 22 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey e 22 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey e 22 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey e 22 flowey_lib_common::install_cargo_nextest 0 | |
| - name: determine unit test exclusions | |
| run: flowey e 22 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey_lib_hvlite::init_cross_build 2 flowey_lib_hvlite::run_cargo_nextest_run 0 | |
| - name: generate nextest command | |
| run: flowey e 22 flowey_lib_common::gen_cargo_nextest_run_cmd 5 | |
| - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests | |
| run: |- | |
| flowey e 22 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_common::publish_test_results 6 flowey_lib_common::publish_test_results 7 | |
| flowey v 22 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 | |
| flowey v 22 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__8 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-unit-tests-base-junit-xml | |
| path: ${{ env.floweyvar3 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 22 flowey_lib_hvlite::run_cargo_nextest_run 2 flowey_lib_common::gen_cargo_nextest_run_cmd 1 | |
| - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests | |
| run: |- | |
| flowey e 22 flowey_lib_common::run_cargo_nextest_run 4 flowey_lib_common::run_cargo_nextest_run 5 flowey_lib_common::publish_test_results 9 flowey_lib_common::publish_test_results 10 | |
| flowey v 22 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 | |
| flowey v 22 'flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__11 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml | |
| path: ${{ env.floweyvar4 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 22 flowey_lib_hvlite::run_cargo_nextest_run 4 flowey_lib_common::gen_cargo_nextest_run_cmd 3 | |
| - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests | |
| run: |- | |
| flowey e 22 flowey_lib_common::run_cargo_nextest_run 8 flowey_lib_common::run_cargo_nextest_run 9 flowey_lib_common::publish_test_results 12 flowey_lib_common::publish_test_results 13 | |
| flowey v 22 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 | |
| flowey v 22 'flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__14 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml | |
| path: ${{ env.floweyvar5 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 22 flowey_lib_hvlite::run_cargo_nextest_run 3 flowey_lib_common::gen_cargo_nextest_run_cmd 2 | |
| - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests | |
| run: |- | |
| flowey e 22 flowey_lib_common::run_cargo_nextest_run 6 flowey_lib_common::run_cargo_nextest_run 7 flowey_lib_common::publish_test_results 15 flowey_lib_common::publish_test_results 16 | |
| flowey v 22 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 | |
| flowey v 22 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__17 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml | |
| path: ${{ env.floweyvar6 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 22 flowey_lib_hvlite::run_cargo_nextest_run 5 flowey_lib_common::gen_cargo_nextest_run_cmd 4 | |
| - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests | |
| run: |- | |
| flowey e 22 flowey_lib_common::run_cargo_nextest_run 10 flowey_lib_common::run_cargo_nextest_run 11 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 22 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 22 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: generate nextest command | |
| run: flowey e 22 flowey_lib_hvlite::run_cargo_nextest_run 1 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests | |
| run: |- | |
| flowey e 22 flowey_lib_common::run_cargo_nextest_run 2 flowey_lib_common::run_cargo_nextest_run 3 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 | |
| flowey v 22 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 22 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__5 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 22 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 | |
| - name: run doctests for aarch64-unknown-linux-musl | |
| run: flowey e 22 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 22 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 22 flowey_lib_common::cache 7 | |
| job23: | |
| name: build vmfirmwareigvm cvm [x64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job23-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job15 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: x64-openhcl-igvm-cvm | |
| path: ${{ runner.temp }}/used_artifacts/x64-openhcl-igvm-cvm/ | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 23 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-vmfirmwareigvm-cvm" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 23 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey.exe e 23 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 23 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 23 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 23 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 23 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey.exe v 23 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 23 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 23 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 23 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 23 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 23 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 23 flowey_lib_common::cache 0 | |
| flowey.exe v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 23 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 23 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 23 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 23 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_core::pipeline::artifact::resolve 0 flowey_lib_hvlite::build_vmfirmwareigvm_dll 0 | |
| - name: determine vmfirmwareigvm_dll env vars | |
| run: flowey.exe e 23 flowey_lib_hvlite::build_vmfirmwareigvm_dll 1 flowey_lib_hvlite::init_cross_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 1 | |
| - name: cargo build vmfirmwareigvm_dll | |
| run: flowey.exe e 23 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 2 flowey_lib_hvlite::build_vmfirmwareigvm_dll 2 flowey_core::pipeline::artifact::publish 0 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 23 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish x64-vmfirmwareigvm-cvm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-vmfirmwareigvm-cvm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-vmfirmwareigvm-cvm/ | |
| include-hidden-files: true | |
| job24: | |
| name: run vmm-tests [x64-windows-intel] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job24-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job15 | |
| - job23 | |
| - job3 | |
| - job4 | |
| - job5 | |
| - job9 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-vmfirmwareigvm-cvm,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH | |
| 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-8/flowey.exe | |
| echo '"debug"' | flowey.exe v 24 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 24 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 24 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 24 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 24 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 24 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 24 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 24 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 24 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-test-linux-direct" | flowey.exe v 24 'artifact_use_from_x64-openhcl-igvm-test-linux-direct' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 24 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 24 'artifact_use_from_x64-vmfirmwareigvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 24 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 24 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 24 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 24 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 24 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 24 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 24 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 24 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 24 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 24 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 24 flowey_lib_common::cache 8 | |
| flowey.exe v 24 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 24 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 24 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --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 24 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 24 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| - name: remove leftover Hyper-V VMs | |
| run: |- | |
| flowey.exe e 24 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 | |
| flowey.exe v 24 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey_core::pipeline::artifact::resolve 7 flowey_core::pipeline::artifact::resolve 9 flowey_core::pipeline::artifact::resolve 10 flowey_core::pipeline::artifact::resolve 13 flowey_core::pipeline::artifact::resolve 15 flowey_core::pipeline::artifact::resolve 16 flowey_core::pipeline::artifact::resolve 14 flowey_core::pipeline::artifact::resolve 12 flowey_core::pipeline::artifact::resolve 8 flowey_core::pipeline::artifact::resolve 4 flowey_core::pipeline::artifact::resolve 5 flowey_core::pipeline::artifact::resolve 6 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 3 flowey_core::pipeline::artifact::resolve 0 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 24 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey.exe e 24 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 24 flowey_lib_common::cache 4 | |
| flowey.exe v 24 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 24 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 24 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 24 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 24 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey.exe e 24 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey.exe e 24 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey.exe e 24 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey.exe e 24 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey.exe e 24 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| - name: setting up vmm_tests env | |
| run: flowey.exe e 24 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 24 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 24 flowey_lib_common::cache 0 | |
| flowey.exe v 24 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 24 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 24 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 24 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 24 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 24 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey.exe v 24 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 24 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 24 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 24 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_core::pipeline::artifact::resolve 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey.exe e 24 flowey_lib_common::gen_cargo_nextest_run_cmd 0 flowey_core::pipeline::artifact::resolve 11 | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 24 flowey_lib_hvlite::install_vmm_tests_external_deps 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: running vmm_test prep_steps | |
| run: flowey.exe e 24 flowey_lib_hvlite::run_prep_steps 0 | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 24 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey.exe e 24 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: flowey.exe e 24 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 24 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 24 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 24 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 24 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 24 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 8 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 24 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 24 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 24 flowey_lib_common::cache 11 | |
| job25: | |
| name: run vmm-tests [x64-windows-intel-mi-secure] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job25-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job16 | |
| - job23 | |
| - job3 | |
| - job4 | |
| - job5 | |
| - job9 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-vmfirmwareigvm-cvm,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH | |
| 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-8/flowey.exe | |
| echo '"debug"' | flowey.exe v 25 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 25 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 25 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 25 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 25 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 25 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 25 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 25 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm-cvm" | flowey.exe v 25 'artifact_use_from_x64-mi-secure-openhcl-igvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm-test-linux-direct" | flowey.exe v 25 'artifact_use_from_x64-mi-secure-openhcl-igvm-test-linux-direct' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 25 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 25 'artifact_use_from_x64-vmfirmwareigvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 25 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 25 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 25 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 25 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 25 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 25 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 25 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 25 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 25 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 25 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 25 flowey_lib_common::cache 8 | |
| flowey.exe v 25 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 25 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 25 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --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 25 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 25 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: flowey.exe e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| - name: remove leftover Hyper-V VMs | |
| run: |- | |
| flowey.exe e 25 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 | |
| flowey.exe v 25 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey_core::pipeline::artifact::resolve 9 flowey_core::pipeline::artifact::resolve 10 flowey_core::pipeline::artifact::resolve 13 flowey_core::pipeline::artifact::resolve 15 flowey_core::pipeline::artifact::resolve 16 flowey_core::pipeline::artifact::resolve 14 flowey_core::pipeline::artifact::resolve 12 flowey_core::pipeline::artifact::resolve 8 flowey_core::pipeline::artifact::resolve 4 flowey_core::pipeline::artifact::resolve 5 flowey_core::pipeline::artifact::resolve 6 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 3 flowey_core::pipeline::artifact::resolve 0 flowey_core::pipeline::artifact::resolve 7 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 25 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 25 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 25 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey.exe e 25 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey.exe e 25 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 25 flowey_lib_common::cache 4 | |
| flowey.exe v 25 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 25 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 25 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 25 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 25 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey.exe e 25 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey.exe e 25 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey.exe e 25 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey.exe e 25 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey.exe e 25 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| - name: setting up vmm_tests env | |
| run: flowey.exe e 25 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 25 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 25 flowey_lib_common::cache 0 | |
| flowey.exe v 25 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 25 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 25 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 25 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 25 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 25 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey.exe v 25 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 25 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 25 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 25 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_core::pipeline::artifact::resolve 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey.exe e 25 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 25 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 25 flowey_lib_hvlite::install_vmm_tests_external_deps 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey.exe e 25 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: flowey.exe e 25 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 25 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 25 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-intel-mi-secure-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 25 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 25 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 25 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-intel-mi-secure-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 25 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 25 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 25 flowey_lib_common::cache 11 | |
| job26: | |
| name: run vmm-tests [x64-windows-intel-tdx] | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - X64 | |
| - TDX | |
| - GNR | |
| - Baremetal | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job15 | |
| - job23 | |
| - job3 | |
| - job4 | |
| - job5 | |
| - job9 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-vmfirmwareigvm-cvm,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH | |
| 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-8/flowey.exe | |
| echo '"debug"' | flowey.exe v 26 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 26 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 26 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 26 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 26 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 26 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 26 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 26 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 26 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-test-linux-direct" | flowey.exe v 26 'artifact_use_from_x64-openhcl-igvm-test-linux-direct' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 26 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 26 'artifact_use_from_x64-vmfirmwareigvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 26 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 26 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 26 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 26 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 26 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 26 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 26 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 26 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 26 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 26 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::cache 8 | |
| flowey.exe v 26 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 26 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 26 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 26 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: flowey.exe e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| - name: remove leftover Hyper-V VMs | |
| run: |- | |
| flowey.exe e 26 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 | |
| flowey.exe v 26 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey_core::pipeline::artifact::resolve 9 flowey_core::pipeline::artifact::resolve 10 flowey_core::pipeline::artifact::resolve 13 flowey_core::pipeline::artifact::resolve 15 flowey_core::pipeline::artifact::resolve 16 flowey_core::pipeline::artifact::resolve 14 flowey_core::pipeline::artifact::resolve 12 flowey_core::pipeline::artifact::resolve 8 flowey_core::pipeline::artifact::resolve 4 flowey_core::pipeline::artifact::resolve 5 flowey_core::pipeline::artifact::resolve 6 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 3 flowey_core::pipeline::artifact::resolve 0 flowey_core::pipeline::artifact::resolve 7 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 26 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 26 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 26 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey.exe e 26 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey.exe e 26 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::cache 4 | |
| flowey.exe v 26 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 26 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 26 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 26 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey.exe e 26 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey.exe e 26 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey.exe e 26 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey.exe e 26 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey.exe e 26 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| - name: setting up vmm_tests env | |
| run: flowey.exe e 26 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 26 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::cache 0 | |
| flowey.exe v 26 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 26 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 26 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 26 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 26 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey.exe v 26 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar3 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 26 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 26 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 26 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_core::pipeline::artifact::resolve 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey.exe e 26 flowey_lib_common::gen_cargo_nextest_run_cmd 0 flowey_core::pipeline::artifact::resolve 11 | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 26 flowey_lib_hvlite::install_vmm_tests_external_deps 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: running vmm_test prep_steps | |
| run: flowey.exe e 26 flowey_lib_hvlite::run_prep_steps 0 | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 26 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey.exe e 26 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: flowey.exe e 26 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey.exe e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 26 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 26 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 26 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 26 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 26 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 8 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 26 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 26 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 26 flowey_lib_common::cache 11 | |
| job27: | |
| name: run vmm-tests [x64-windows-amd] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job27-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job15 | |
| - job23 | |
| - job3 | |
| - job4 | |
| - job5 | |
| - job9 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-vmfirmwareigvm-cvm,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH | |
| 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-8/flowey.exe | |
| echo '"debug"' | flowey.exe v 27 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 27 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 27 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 27 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 27 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 27 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 27 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 27 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 27 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-test-linux-direct" | flowey.exe v 27 'artifact_use_from_x64-openhcl-igvm-test-linux-direct' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 27 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 27 'artifact_use_from_x64-vmfirmwareigvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 27 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 27 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 27 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 27 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 27 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 27 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 27 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 27 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 27 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 27 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 27 flowey_lib_common::cache 8 | |
| flowey.exe v 27 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 27 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 27 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --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 27 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 27 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 27 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: flowey.exe e 27 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| - name: remove leftover Hyper-V VMs | |
| run: |- | |
| flowey.exe e 27 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 | |
| flowey.exe v 27 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey_core::pipeline::artifact::resolve 9 flowey_core::pipeline::artifact::resolve 10 flowey_core::pipeline::artifact::resolve 13 flowey_core::pipeline::artifact::resolve 15 flowey_core::pipeline::artifact::resolve 16 flowey_core::pipeline::artifact::resolve 14 flowey_core::pipeline::artifact::resolve 12 flowey_core::pipeline::artifact::resolve 8 flowey_core::pipeline::artifact::resolve 4 flowey_core::pipeline::artifact::resolve 5 flowey_core::pipeline::artifact::resolve 6 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 3 flowey_core::pipeline::artifact::resolve 0 flowey_core::pipeline::artifact::resolve 7 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 27 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 27 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 27 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey.exe e 27 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey.exe e 27 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 27 flowey_lib_common::cache 4 | |
| flowey.exe v 27 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 27 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 27 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 27 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 27 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey.exe e 27 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey.exe e 27 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey.exe e 27 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey.exe e 27 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey.exe e 27 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| - name: setting up vmm_tests env | |
| run: flowey.exe e 27 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 27 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 27 flowey_lib_common::cache 0 | |
| flowey.exe v 27 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 27 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 27 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 27 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 27 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 27 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey.exe v 27 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 27 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 27 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 27 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_core::pipeline::artifact::resolve 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey.exe e 27 flowey_lib_common::gen_cargo_nextest_run_cmd 0 flowey_core::pipeline::artifact::resolve 11 | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 27 flowey_lib_hvlite::install_vmm_tests_external_deps 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: running vmm_test prep_steps | |
| run: flowey.exe e 27 flowey_lib_hvlite::run_prep_steps 0 | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 27 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey.exe e 27 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: flowey.exe e 27 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey.exe e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 27 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 27 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 27 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 27 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 27 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 8 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 27 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 27 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 27 flowey_lib_common::cache 11 | |
| job28: | |
| name: run vmm-tests [x64-windows-amd-snp] | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - X64 | |
| - SNP | |
| - Baremetal | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job15 | |
| - job23 | |
| - job3 | |
| - job4 | |
| - job5 | |
| - job9 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-vmfirmwareigvm-cvm,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH | |
| 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-8/flowey.exe | |
| echo '"debug"' | flowey.exe v 28 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 28 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 28 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 28 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 28 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 28 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 28 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 28 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 28 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-test-linux-direct" | flowey.exe v 28 'artifact_use_from_x64-openhcl-igvm-test-linux-direct' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 28 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 28 'artifact_use_from_x64-vmfirmwareigvm-cvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 28 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 28 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 28 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 28 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 28 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 28 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 28 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 28 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 28 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 28 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 28 flowey_lib_common::cache 8 | |
| flowey.exe v 28 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 28 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 28 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --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 28 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 28 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 28 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: flowey.exe e 28 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| - name: remove leftover Hyper-V VMs | |
| run: |- | |
| flowey.exe e 28 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 | |
| flowey.exe v 28 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey_core::pipeline::artifact::resolve 9 flowey_core::pipeline::artifact::resolve 10 flowey_core::pipeline::artifact::resolve 13 flowey_core::pipeline::artifact::resolve 15 flowey_core::pipeline::artifact::resolve 16 flowey_core::pipeline::artifact::resolve 14 flowey_core::pipeline::artifact::resolve 12 flowey_core::pipeline::artifact::resolve 8 flowey_core::pipeline::artifact::resolve 4 flowey_core::pipeline::artifact::resolve 5 flowey_core::pipeline::artifact::resolve 6 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 3 flowey_core::pipeline::artifact::resolve 0 flowey_core::pipeline::artifact::resolve 7 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 28 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 28 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 28 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey.exe e 28 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey.exe e 28 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 28 flowey_lib_common::cache 4 | |
| flowey.exe v 28 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 28 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 28 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 28 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 28 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey.exe e 28 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey.exe e 28 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey.exe e 28 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey.exe e 28 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey.exe e 28 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| - name: setting up vmm_tests env | |
| run: flowey.exe e 28 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 28 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 28 flowey_lib_common::cache 0 | |
| flowey.exe v 28 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 28 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 28 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 28 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 28 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 28 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey.exe v 28 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 28 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 28 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 28 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_core::pipeline::artifact::resolve 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey.exe e 28 flowey_lib_common::gen_cargo_nextest_run_cmd 0 flowey_core::pipeline::artifact::resolve 11 | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 28 flowey_lib_hvlite::install_vmm_tests_external_deps 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: running vmm_test prep_steps | |
| run: flowey.exe e 28 flowey_lib_hvlite::run_prep_steps 0 | |
| - name: starting test_igvm_agent_rpc_server | |
| run: flowey.exe e 28 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey.exe e 28 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 | |
| - name: stopping test_igvm_agent_rpc_server | |
| run: flowey.exe e 28 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 28 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 28 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 28 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 28 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 28 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 8 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 28 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 28 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 28 flowey_lib_common::cache 11 | |
| job29: | |
| name: run vmm-tests [x64-linux-amd-kvm] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job29-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job12 | |
| - job3 | |
| - job4 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-1,aarch64-linux-musl-pipette,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-prep_steps,x64-linux-musl-tmk_vmm,x64-linux-openvmm,x64-linux-openvmm_vhost,x64-linux-vmm-tests-archive,x64-tmks,x64-windows-pipette}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 29 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 29 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 29 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 29 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 29 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 29 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-prep_steps" | flowey v 29 'artifact_use_from_x64-linux-musl-prep_steps' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 29 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 29 'artifact_use_from_x64-linux-openvmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm_vhost" | flowey v 29 'artifact_use_from_x64-linux-openvmm_vhost' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 29 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 29 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 29 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 29 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 29 flowey_lib_common::cache 0 | |
| flowey v 29 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 29 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 29 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 29 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 29 flowey_lib_common::git_checkout 0 | |
| flowey v 29 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey v 29 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 29 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 29 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 29 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| - name: checking if packages need to be installed | |
| run: flowey e 29 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 29 flowey_lib_common::install_dist_pkg 1 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 29 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 29 flowey_lib_common::cache 8 | |
| flowey v 29 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 29 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 29 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --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 29 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: extract azcopy from archive | |
| run: flowey e 29 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey e 29 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey e 29 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| flowey v 29 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:2:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_core::pipeline::artifact::resolve 9 flowey_core::pipeline::artifact::resolve 5 flowey_core::pipeline::artifact::resolve 6 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 0 flowey_core::pipeline::artifact::resolve 4 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 8 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey e 29 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 29 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 29 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack QEMU archive | |
| run: flowey e 29 flowey_lib_hvlite::resolve_openvmm_qemu 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey e 29 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey e 29 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 29 flowey_lib_common::cache 4 | |
| flowey v 29 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey v 29 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey v 29 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 29 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey v 29 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey e 29 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey e 29 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey e 29 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey e 29 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey e 29 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| - name: setting up vmm_tests env | |
| run: flowey e 29 flowey_lib_hvlite::init_vmm_tests_env 0 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_core::pipeline::artifact::resolve 7 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey e 29 flowey_lib_common::gen_cargo_nextest_run_cmd 0 flowey_core::pipeline::artifact::resolve 3 | |
| - name: install vmm tests deps (linux) | |
| run: flowey e 29 flowey_lib_hvlite::install_vmm_tests_external_deps 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| - name: running vmm_test prep_steps | |
| run: flowey e 29 flowey_lib_hvlite::run_prep_steps 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey e 29 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey v 29 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 29 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-amd-kvm-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-amd-kvm-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey e 29 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 29 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 29 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-amd-kvm-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-amd-kvm-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 29 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey e 29 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 29 flowey_lib_common::cache 11 | |
| job3: | |
| name: build artifacts (shared VMM tests) [windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job3-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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/x64-windows-pipette" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_x64-windows-pipette' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey.exe e 3 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 3 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 3 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - 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' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey.exe v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 3 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 3 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 3 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 3 flowey_lib_common::download_gh_release 0 | |
| - 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' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 3 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 3 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 3 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 3 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo build pipette | |
| run: flowey.exe e 3 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::build_pipette 0 flowey_core::pipeline::artifact::publish 0 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 3 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish x64-windows-pipette | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-pipette | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/ | |
| include-hidden-files: true | |
| job30: | |
| name: run vmm-tests [x64-linux-intel-mshv] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3 | |
| - 1ES.ImageOverride=azurelinux3-amd64-dom0 | |
| - JobId=job30-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job12 | |
| - job3 | |
| - job4 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| sudo tdnf install -y gcc glibc-devel | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{aarch64-linux-musl-pipette,x64-guest_test_uefi,x64-linux-musl-openvmm,x64-linux-musl-openvmm_vhost,x64-linux-musl-pipette,x64-linux-musl-prep_steps,x64-linux-musl-tmk_vmm,x64-linux-musl-vmm-tests-archive,x64-tmks,x64-windows-pipette}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 30 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 30 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 30 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 30 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 30 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 30 'artifact_use_from_x64-linux-musl-openvmm_vhost' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 30 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-prep_steps" | flowey v 30 'artifact_use_from_x64-linux-musl-prep_steps' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 30 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 30 'artifact_use_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 30 'artifact_use_from_x64-tmks' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 30 'artifact_use_from_x64-windows-pipette' --is-raw-string update | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 30 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 30 flowey_lib_common::cache 0 | |
| flowey v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 30 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 30 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 30 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 30 flowey_lib_common::git_checkout 0 | |
| flowey v 30 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey v 30 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 30 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 30 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 30 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| - name: checking if packages need to be installed | |
| run: flowey e 30 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 30 flowey_lib_common::install_dist_pkg 1 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 30 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 30 flowey_lib_common::cache 8 | |
| flowey v 30 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 30 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 30 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --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 30 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: extract azcopy from archive | |
| run: flowey e 30 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey e 30 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: |- | |
| flowey e 30 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| flowey v 30 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:2:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey e 30 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_core::pipeline::artifact::resolve 9 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 3 flowey_core::pipeline::artifact::resolve 4 flowey_core::pipeline::artifact::resolve 0 flowey_core::pipeline::artifact::resolve 6 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 8 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey e 30 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 30 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 30 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack QEMU archive | |
| run: flowey e 30 flowey_lib_hvlite::resolve_openvmm_qemu 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey e 30 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey e 30 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 30 flowey_lib_common::cache 4 | |
| flowey v 30 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey v 30 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey v 30 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 30 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey v 30 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey e 30 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey e 30 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey e 30 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey e 30 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey e 30 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| - name: setting up vmm_tests env | |
| run: flowey e 30 flowey_lib_hvlite::init_vmm_tests_env 0 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_core::pipeline::artifact::resolve 7 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey e 30 flowey_lib_common::gen_cargo_nextest_run_cmd 0 flowey_core::pipeline::artifact::resolve 5 | |
| - name: install vmm tests deps (linux) | |
| run: flowey e 30 flowey_lib_hvlite::install_vmm_tests_external_deps 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| - name: running vmm_test prep_steps | |
| run: flowey e 30 flowey_lib_hvlite::run_prep_steps 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey e 30 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey e 30 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey v 30 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 30 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-intel-mshv-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-intel-mshv-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey e 30 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 30 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 30 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-intel-mshv-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-intel-mshv-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 30 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 30 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey e 30 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 30 flowey_lib_common::cache 11 | |
| job31: | |
| name: run vmm-tests [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - ARM64 | |
| - Baremetal | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job14 | |
| - job4 | |
| - job7 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| 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 | |
| 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 | |
| - 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 31 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 31 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 31 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 31 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 31 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 31 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-openhcl-igvm" | flowey.exe v 31 'artifact_use_from_aarch64-openhcl-igvm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-tmks" | flowey.exe v 31 'artifact_use_from_aarch64-tmks' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-openvmm" | flowey.exe v 31 'artifact_use_from_aarch64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-pipette" | flowey.exe v 31 'artifact_use_from_aarch64-windows-pipette' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 31 'artifact_use_from_aarch64-windows-tmk_vmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 31 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 31 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 31 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 31 flowey_lib_common::cache 8 | |
| flowey.exe v 31 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey.exe v 31 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 31 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --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 31 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 31 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey.exe e 31 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: flowey.exe e 31 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| - name: remove leftover Hyper-V VMs | |
| run: |- | |
| flowey.exe e 31 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 | |
| flowey.exe v 31 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 31 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey_core::pipeline::artifact::resolve 5 flowey_core::pipeline::artifact::resolve 6 flowey_core::pipeline::artifact::resolve 7 flowey_core::pipeline::artifact::resolve 8 flowey_core::pipeline::artifact::resolve 3 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 0 flowey_core::pipeline::artifact::resolve 4 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey.exe e 31 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey.exe e 31 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack mu_msvm package (aarch64) | |
| run: flowey.exe e 31 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey.exe e 31 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey.exe e 31 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 31 flowey_lib_common::cache 4 | |
| flowey.exe v 31 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey.exe v 31 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey.exe v 31 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 31 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey.exe v 31 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey.exe e 31 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey.exe e 31 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey.exe e 31 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey.exe e 31 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey.exe e 31 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 | |
| - name: setting up vmm_tests env | |
| run: flowey.exe e 31 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 31 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 31 flowey_lib_common::cache 0 | |
| flowey.exe v 31 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 31 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 31 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 31 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 31 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 31 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey.exe v 31 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 31 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 31 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 31 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_core::pipeline::artifact::resolve 9 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey.exe e 31 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 31 flowey_lib_hvlite::install_vmm_tests_external_deps 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey.exe e 31 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey.exe e 31 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 31 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 31 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 31 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 31 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 31 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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 31 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 31 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey.exe e 31 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 31 flowey_lib_common::cache 11 | |
| job32: | |
| name: run vmm-tests [aarch64-linux-tcg] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job32-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job10 | |
| - job4 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-1,aarch64-guest_test_uefi,aarch64-linux-musl-openvmm,aarch64-linux-musl-pipette,aarch64-linux-musl-tmk_vmm,aarch64-linux-musl-vmm-tests-archive,aarch64-tmks,x64-linux-incubator}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 32 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 32 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 32 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "$AgentTempDirNormal/used_artifacts/aarch64-guest_test_uefi" | flowey v 32 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-openvmm" | flowey v 32 'artifact_use_from_aarch64-linux-musl-openvmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 32 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 32 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 32 'artifact_use_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/aarch64-tmks" | flowey v 32 'artifact_use_from_aarch64-tmks' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-incubator" | flowey v 32 'artifact_use_from_x64-linux-incubator' --is-raw-string update | |
| - name: create cargo-nextest cache dir | |
| run: flowey e 32 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 32 flowey_lib_common::cache 0 | |
| flowey v 32 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey v 32 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey v 32 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 32 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 32 flowey_lib_common::git_checkout 0 | |
| flowey v 32 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar3 | |
| flowey v 32 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 32 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 32 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 32 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey_core::pipeline::artifact::resolve 6 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 32 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 32 flowey_lib_common::cache 8 | |
| flowey v 32 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 | |
| flowey v 32 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 | |
| - id: flowey_lib_common__cache__9 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar8 }} | |
| path: ${{ env.floweyvar9 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 32 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --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 32 flowey_lib_common::cache 10 flowey_lib_common::download_gh_release 1 | |
| - name: unpack openvmm-test-linux archives | |
| run: flowey e 32 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 | |
| - name: unpack openvmm-test-initrd archives | |
| run: flowey e 32 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 | |
| - name: unpack QEMU archive | |
| run: |- | |
| flowey e 32 flowey_lib_hvlite::resolve_openvmm_qemu 0 flowey_core::pipeline::artifact::resolve 4 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 | |
| flowey v 32 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:2:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey e 32 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 2 flowey_core::pipeline::artifact::resolve 0 flowey_core::pipeline::artifact::resolve 5 flowey_core::pipeline::artifact::resolve 3 | |
| - name: checking if packages need to be installed | |
| run: flowey e 32 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 32 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack mu_msvm package (aarch64) | |
| run: flowey e 32 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: unpack openvmm-test-virtio-win archive | |
| run: flowey e 32 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 | |
| - name: create gh cache dir | |
| run: flowey e 32 flowey_lib_common::download_gh_cli 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 32 flowey_lib_common::cache 4 | |
| flowey v 32 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 | |
| flowey v 32 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar6 }} | |
| path: ${{ env.floweyvar7 }} | |
| name: 'Restore cache: gh-cli' | |
| - name: installing gh | |
| run: |- | |
| flowey v 32 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 32 flowey_lib_common::cache 6 flowey_lib_common::download_gh_cli 1 | |
| flowey v 32 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: setup gh cli | |
| run: flowey e 32 flowey_lib_common::use_gh_cli 0 | |
| - name: get latest commit by branch | |
| run: flowey e 32 flowey_lib_common::gh_workflow_id 0 | |
| - name: get action id by commit | |
| run: flowey e 32 flowey_lib_common::gh_workflow_id 1 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0 | |
| - name: download artifacts from github actions run | |
| run: flowey e 32 flowey_lib_common::download_gh_artifact 0 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 1 | |
| - name: setting up vmm_tests content dir | |
| run: flowey e 32 flowey_lib_hvlite::init_vmm_tests_content_dir 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 | |
| - name: extract azcopy from archive | |
| run: flowey e 32 flowey_lib_common::download_azcopy 0 | |
| - name: calculating required VMM tests disk images | |
| run: flowey e 32 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 | |
| - name: downloading VMM test disk images | |
| run: flowey e 32 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 | |
| - name: setting up vmm_tests env | |
| run: flowey e 32 flowey_lib_hvlite::init_vmm_tests_env 0 | |
| - name: compute incubator target runner env | |
| run: flowey e 32 flowey_lib_hvlite::write_incubator_target_runner 0 flowey_lib_hvlite::run_cargo_nextest_run 0 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 | |
| - name: generate nextest command | |
| run: flowey e 32 flowey_lib_common::gen_cargo_nextest_run_cmd 0 | |
| - name: install vmm tests deps (linux) | |
| run: flowey e 32 flowey_lib_hvlite::install_vmm_tests_external_deps 0 | |
| - name: run 'vmm_tests' nextest tests | |
| run: flowey e 32 flowey_lib_common::run_cargo_nextest_run 0 flowey_lib_common::run_cargo_nextest_run 1 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 | |
| - name: summarize failing vmm tests | |
| run: |- | |
| flowey e 32 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey v 32 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 32 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-tcg-vmm-tests-logs | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-linux-tcg-vmm-tests (logs)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey e 32 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 32 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 32 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-tcg-vmm-tests-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-linux-tcg-vmm-tests (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report test results to overall pipeline status | |
| run: flowey e 32 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey e 32 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-cli' | |
| run: flowey e 32 flowey_lib_common::cache 7 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 32 flowey_lib_common::cache 11 | |
| job33: | |
| name: run vmm-perf [x64-linux-amd-kvm] | |
| timeout-minutes: 120 | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job33-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job12 | |
| - job13 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-1,x64-linux-openvmm,x64-linux-vmm-perf-runner}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 33 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 33 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 33 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 33 'artifact_use_from_x64-linux-openvmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-perf-runner" | flowey v 33 'artifact_use_from_x64-linux-vmm-perf-runner' --is-raw-string update | |
| - name: install vmm tests deps (linux) | |
| run: flowey e 33 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 0 flowey_lib_hvlite::install_vmm_tests_external_deps 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 33 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 33 flowey_lib_common::install_dist_pkg 1 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 33 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 33 flowey_lib_common::cache 0 | |
| flowey v 33 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| flowey v 33 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar3 }} | |
| path: ${{ env.floweyvar4 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 33 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 33 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 33 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: extract azcopy from archive | |
| run: flowey e 33 flowey_lib_common::download_azcopy 0 | |
| - name: download VMM.Perf runtime (vmm-perf-linux-x64.tar.gz) | |
| run: |- | |
| flowey e 33 flowey_lib_hvlite::download_vmm_perf_runtime 0 | |
| flowey v 33 'flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey e 33 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 1 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 2 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 3 | |
| - name: run VMM.Perf | |
| run: |- | |
| flowey e 33 flowey_lib_hvlite::run_vmm_perf 0 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 4 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 5 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey v 33 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 33 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-amd-kvm-vmm-perf-results | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-amd-kvm-vmm-perf (results)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey e 33 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 33 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 33 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-amd-kvm-vmm-perf-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-amd-kvm-vmm-perf (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report VMM.Perf result | |
| run: flowey e 33 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 6 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 33 flowey_lib_common::cache 3 | |
| job34: | |
| name: run vmm-perf [x64-linux-intel-mshv] | |
| timeout-minutes: 120 | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3 | |
| - 1ES.ImageOverride=azurelinux3-amd64-dom0 | |
| - JobId=job34-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job12 | |
| - job13 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| sudo tdnf install -y gcc glibc-devel | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" | |
| working-directory: flowey_bootstrap | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{x64-linux-musl-openvmm,x64-linux-musl-vmm-perf-runner}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 34 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 34 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 34 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 34 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update | |
| echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 34 'artifact_use_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update | |
| - name: install vmm tests deps (linux) | |
| run: flowey e 34 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 0 flowey_lib_hvlite::install_vmm_tests_external_deps 0 | |
| - name: checking if packages need to be installed | |
| run: flowey e 34 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 34 flowey_lib_common::install_dist_pkg 1 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 34 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 34 flowey_lib_common::cache 0 | |
| flowey v 34 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| flowey v 34 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar3 }} | |
| path: ${{ env.floweyvar4 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 34 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 34 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey e 34 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: extract azcopy from archive | |
| run: flowey e 34 flowey_lib_common::download_azcopy 0 | |
| - name: download VMM.Perf runtime (vmm-perf-linux-x64.tar.gz) | |
| run: |- | |
| flowey e 34 flowey_lib_hvlite::download_vmm_perf_runtime 0 | |
| flowey v 34 'flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey e 34 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 1 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 2 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 3 | |
| - name: run VMM.Perf | |
| run: |- | |
| flowey e 34 flowey_lib_hvlite::run_vmm_perf 0 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 4 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 5 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey v 34 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey v 34 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-intel-mshv-vmm-perf-results | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-linux-intel-mshv-vmm-perf (results)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey e 34 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey v 34 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey v 34 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-intel-mshv-vmm-perf-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-linux-intel-mshv-vmm-perf (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report VMM.Perf result | |
| run: flowey e 34 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 6 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 34 flowey_lib_common::cache 3 | |
| job35: | |
| name: run vmm-perf [x64-windows-amd] | |
| timeout-minutes: 120 | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job35-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job8 | |
| - job9 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-windows-openvmm,x64-windows-vmm-perf-runner}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH | |
| 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-8/flowey.exe | |
| echo '"debug"' | flowey.exe v 35 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 35 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 35 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 35 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 35 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 35 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 0 flowey_lib_hvlite::install_vmm_tests_external_deps 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 35 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 35 flowey_lib_common::cache 0 | |
| flowey.exe v 35 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| flowey.exe v 35 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar3 }} | |
| path: ${{ env.floweyvar4 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 35 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 35 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 35 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 35 flowey_lib_common::download_azcopy 0 | |
| - name: download VMM.Perf runtime (vmm-perf-win-x64.zip) | |
| run: |- | |
| flowey.exe e 35 flowey_lib_hvlite::download_vmm_perf_runtime 0 | |
| flowey.exe v 35 'flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 35 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 1 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 2 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 3 | |
| - name: run VMM.Perf | |
| run: |- | |
| flowey.exe e 35 flowey_lib_hvlite::run_vmm_perf 0 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 4 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 5 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 35 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 35 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-amd-vmm-perf-results | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-amd-vmm-perf (results)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 35 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 35 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 35 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-amd-vmm-perf-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-amd-vmm-perf (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report VMM.Perf result | |
| run: flowey.exe e 35 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 6 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 35 flowey_lib_common::cache 3 | |
| job36: | |
| name: run vmm-perf [x64-windows-intel] | |
| timeout-minutes: 120 | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job36-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job8 | |
| - job9 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-windows-openvmm,x64-windows-vmm-perf-runner}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH | |
| 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-8/flowey.exe | |
| echo '"debug"' | flowey.exe v 36 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 36 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 36 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 36 'artifact_use_from_x64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 36 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 36 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 0 flowey_lib_hvlite::install_vmm_tests_external_deps 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 36 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 36 flowey_lib_common::cache 0 | |
| flowey.exe v 36 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| flowey.exe v 36 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar3 }} | |
| path: ${{ env.floweyvar4 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 36 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 36 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack mu_msvm package (x64) | |
| run: flowey.exe e 36 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 36 flowey_lib_common::download_azcopy 0 | |
| - name: download VMM.Perf runtime (vmm-perf-win-x64.zip) | |
| run: |- | |
| flowey.exe e 36 flowey_lib_hvlite::download_vmm_perf_runtime 0 | |
| flowey.exe v 36 'flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 36 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 1 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 2 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 3 | |
| - name: run VMM.Perf | |
| run: |- | |
| flowey.exe e 36 flowey_lib_hvlite::run_vmm_perf 0 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 4 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 5 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 36 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 36 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-intel-vmm-perf-results | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: x64-windows-intel-vmm-perf (results)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 36 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 36 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 36 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-intel-vmm-perf-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: x64-windows-intel-vmm-perf (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report VMM.Perf result | |
| run: flowey.exe e 36 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 6 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 36 flowey_lib_common::cache 3 | |
| job37: | |
| name: run vmm-perf [aarch64-windows] | |
| timeout-minutes: 120 | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| - ARM64 | |
| - Baremetal | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| - job6 | |
| - job7 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| pattern: '{aarch64-windows-openvmm,aarch64-windows-vmm-perf-runner}' | |
| path: ${{ runner.temp }}/used_artifacts/ | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 37 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 37 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 37 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-openvmm" | flowey.exe v 37 'artifact_use_from_aarch64-windows-openvmm' --is-raw-string update | |
| echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-perf-runner" | flowey.exe v 37 'artifact_use_from_aarch64-windows-vmm-perf-runner' --is-raw-string update | |
| - name: install vmm tests deps (windows) | |
| run: flowey.exe e 37 flowey_core::pipeline::artifact::resolve 1 flowey_core::pipeline::artifact::resolve 0 flowey_lib_hvlite::install_vmm_tests_external_deps 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 37 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 37 flowey_lib_common::cache 0 | |
| flowey.exe v 37 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| flowey.exe v 37 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar3 }} | |
| path: ${{ env.floweyvar4 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 37 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 37 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack mu_msvm package (aarch64) | |
| run: flowey.exe e 37 flowey_lib_hvlite::download_uefi_mu_msvm 0 | |
| - name: extract azcopy from archive | |
| run: flowey.exe e 37 flowey_lib_common::download_azcopy 0 | |
| - name: download VMM.Perf runtime (vmm-perf-win-arm64.zip) | |
| run: |- | |
| flowey.exe e 37 flowey_lib_hvlite::download_vmm_perf_runtime 0 | |
| flowey.exe v 37 'flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <<EOF | |
| ${{ runner.temp }} | |
| EOF | |
| flowey.exe e 37 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 1 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 2 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 3 | |
| - name: run VMM.Perf | |
| run: |- | |
| flowey.exe e 37 flowey_lib_hvlite::run_vmm_perf 0 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 4 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 5 flowey_lib_common::publish_test_results 3 flowey_lib_common::publish_test_results 4 flowey_lib_common::publish_test_results 5 | |
| flowey.exe v 37 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 | |
| flowey.exe v 37 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__6 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-vmm-perf-results | |
| path: ${{ env.floweyvar2 }} | |
| name: 'publish test results: aarch64-windows-vmm-perf (results)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: π¦ flowey rust steps | |
| run: |- | |
| flowey.exe e 37 flowey_lib_common::publish_test_results 0 flowey_lib_common::publish_test_results 1 | |
| flowey.exe v 37 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 | |
| flowey.exe v 37 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__publish_test_results__2 | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-vmm-perf-junit-xml | |
| path: ${{ env.floweyvar1 }} | |
| name: 'publish test results: aarch64-windows-vmm-perf (JUnit XML)' | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report VMM.Perf result | |
| run: flowey.exe e 37 flowey_lib_hvlite::_jobs::setup_and_run_vmm_perf 6 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 37 flowey_lib_common::cache 3 | |
| job38: | |
| name: test flowey local backend | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 38 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 38 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 38 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 38 flowey_lib_common::git_checkout 0 | |
| flowey v 38 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 38 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 38 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 38 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 38 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: add default cargo home to path | |
| run: flowey e 38 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 38 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: |- | |
| flowey e 38 flowey_lib_common::install_rust 2 | |
| flowey v 38 'flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm:3:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.token <<EOF | |
| ${{ github.token }} | |
| EOF | |
| - name: test cargo xflowey build-igvm x64 --install-missing-deps | |
| run: flowey e 38 flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm 1 | |
| job39: | |
| name: build openvmm [distribution config, x64-linux-gnu] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 39 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 39 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 39 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 39 flowey_lib_common::git_checkout 0 | |
| flowey v 39 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 39 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 39 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 39 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 39 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: add default cargo home to path | |
| run: flowey e 39 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 39 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 39 flowey_lib_common::install_rust 2 | |
| - name: checking if packages need to be installed | |
| run: flowey e 39 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 39 flowey_lib_common::install_dist_pkg 1 | |
| - name: assemble OpenVMM vendor archive | |
| run: flowey e 39 flowey_lib_hvlite::assemble_openvmm_vendor_release 0 | |
| - name: build openvmm in a distribution configuration | |
| run: flowey e 39 flowey_lib_hvlite::_jobs::check_distro_build 0 | |
| job4: | |
| name: build artifacts (shared VMM tests) [linux] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job4-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 4 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 4 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 4 '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 4 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 4 '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 4 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | |
| echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 4 'artifact_publish_from_aarch64-tmks' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 4 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 4 '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 4 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 4 'artifact_publish_from_x64-tmks' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey e 4 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 4 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 4 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 4 flowey_lib_common::git_checkout 0 | |
| flowey v 4 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 4 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 4 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 4 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 4 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 4 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 4 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 4 flowey_lib_common::cache 0 | |
| flowey v 4 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 4 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 4 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 4 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: checking if packages need to be installed | |
| run: flowey e 4 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 4 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack protoc | |
| run: flowey e 4 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 7 | |
| - name: cargo build guest_test_uefi | |
| run: flowey e 4 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 1 | |
| - name: build guest_test_uefi.img | |
| run: flowey e 4 flowey_lib_hvlite::build_guest_test_uefi 0 flowey_core::pipeline::artifact::publish 4 flowey_lib_hvlite::init_cross_build 4 flowey_lib_hvlite::run_cargo_build 10 flowey_lib_hvlite::run_cargo_build 11 | |
| - name: cargo build simple_tmk | |
| run: flowey e 4 flowey_lib_common::run_cargo_build 4 flowey_lib_hvlite::run_cargo_build 12 | |
| - name: split debug symbols | |
| run: flowey e 4 flowey_lib_hvlite::run_split_debug_info 4 flowey_lib_hvlite::run_cargo_build 13 flowey_lib_hvlite::build_tmks 0 flowey_core::pipeline::artifact::publish 5 | |
| - name: unpack openvmm-deps archive | |
| run: flowey e 4 flowey_lib_hvlite::resolve_openvmm_deps 0 | |
| - name: extract X86_64 sysroot.tar.gz | |
| run: flowey e 4 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 flowey_lib_hvlite::init_cross_build 5 | |
| - name: cargo build pipette | |
| run: flowey e 4 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 4 | |
| - name: split debug symbols | |
| run: flowey e 4 flowey_lib_hvlite::run_split_debug_info 3 flowey_lib_hvlite::run_cargo_build 5 flowey_lib_hvlite::build_pipette 1 flowey_core::pipeline::artifact::publish 6 flowey_lib_hvlite::init_cross_build 6 | |
| - name: cargo build tmk_vmm | |
| run: flowey e 4 flowey_lib_common::run_cargo_build 7 flowey_lib_hvlite::run_cargo_build 16 | |
| - name: split debug symbols | |
| run: flowey e 4 flowey_lib_hvlite::run_split_debug_info 5 flowey_lib_hvlite::run_cargo_build 17 flowey_lib_hvlite::build_tmk_vmm 1 flowey_core::pipeline::artifact::publish 7 flowey_lib_hvlite::init_cross_build 3 | |
| - name: cargo build guest_test_uefi | |
| run: flowey e 4 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: build guest_test_uefi.img | |
| run: flowey e 4 flowey_lib_hvlite::build_guest_test_uefi 1 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::init_cross_build 0 flowey_lib_hvlite::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 7 | |
| - name: cargo build simple_tmk | |
| run: flowey e 4 flowey_lib_common::run_cargo_build 5 flowey_lib_hvlite::run_cargo_build 8 | |
| - name: split debug symbols | |
| run: flowey e 4 flowey_lib_hvlite::run_split_debug_info 1 flowey_lib_hvlite::run_cargo_build 9 flowey_lib_hvlite::build_tmks 1 flowey_core::pipeline::artifact::publish 1 | |
| - name: extract Aarch64 sysroot.tar.gz | |
| run: flowey e 4 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 1 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build pipette | |
| run: flowey e 4 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 2 | |
| - name: split debug symbols | |
| run: flowey e 4 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 3 flowey_lib_hvlite::build_pipette 0 flowey_core::pipeline::artifact::publish 2 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build tmk_vmm | |
| run: flowey e 4 flowey_lib_common::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 14 | |
| - name: split debug symbols | |
| run: flowey e 4 flowey_lib_hvlite::run_split_debug_info 2 flowey_lib_hvlite::run_cargo_build 15 flowey_lib_hvlite::build_tmk_vmm 0 flowey_core::pipeline::artifact::publish 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 4 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish aarch64-guest_test_uefi | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-guest_test_uefi | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-linux-musl-pipette | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-linux-musl-tmk_vmm | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-tmks | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-tmks | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-guest_test_uefi | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-guest_test_uefi | |
| path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-linux-musl-pipette | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-musl-tmk_vmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-tmks | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-tmks | |
| path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ | |
| include-hidden-files: true | |
| job5: | |
| name: build guest artifacts (for VMM tests) [x64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-amd-westus3-v7 | |
| - 1ES.ImageOverride=ubuntu2404-amd64 | |
| - JobId=job5-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: πΌπ¦ Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-linux-uid-1 | |
| path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ | |
| - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH | |
| name: πΌπ¦ Add flowey to PATH | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey | |
| echo '"debug"' | flowey v 5 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey v 5 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey v 5 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | |
| echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 5 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey e 5 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey e 5 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey e 5 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey e 5 flowey_lib_common::git_checkout 0 | |
| flowey v 5 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey v 5 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 5 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey e 5 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey e 5 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey e 5 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey e 5 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey e 5 flowey_lib_common::cache 0 | |
| flowey v 5 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey v 5 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey v 5 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 5 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: checking if packages need to be installed | |
| run: flowey e 5 flowey_lib_common::install_dist_pkg 0 | |
| - name: installing packages | |
| run: flowey e 5 flowey_lib_common::install_dist_pkg 1 | |
| - name: unpack protoc | |
| run: flowey e 5 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey e 5 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo build tpm_guest_tests | |
| run: flowey e 5 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 | |
| - name: split debug symbols | |
| run: flowey e 5 flowey_lib_hvlite::run_split_debug_info 0 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey_core::pipeline::artifact::publish 0 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey e 5 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish x64-linux-tpm_guest_tests | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-linux-tpm_guest_tests | |
| path: ${{ runner.temp }}/publish_artifacts/x64-linux-tpm_guest_tests/ | |
| include-hidden-files: true | |
| job6: | |
| name: build artifacts (not for VMM tests) [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job6-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 6 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 6 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 6 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 6 '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 6 '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 6 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --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 6 'artifact_publish_from_aarch64-windows-prep_steps' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-test_igvm_agent_rpc_server" | flowey.exe v 6 'artifact_publish_from_aarch64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tpm_guest_tests" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tpm_guest_tests" | flowey.exe v 6 'artifact_publish_from_aarch64-windows-tpm_guest_tests' --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 6 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgstool-dev" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 6 'artifact_publish_from_aarch64-windows-vmgstool-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-perf-runner" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-perf-runner" | flowey.exe v 6 'artifact_publish_from_aarch64-windows-vmm-perf-runner' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey.exe e 6 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 6 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 6 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 6 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey.exe v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar1 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 6 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 6 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 6 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 6 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 6 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 6 flowey_lib_common::cache 0 | |
| flowey.exe v 6 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 6 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 6 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 6 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 6 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 4 | |
| - name: cargo build hypestv | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::build_hypestv 0 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::init_cross_build 3 | |
| - name: cargo build vmgs_lib | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 10 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::init_cross_build 7 | |
| - name: cargo build igvmfilegen | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_igvmfilegen 0 flowey_core::pipeline::artifact::publish 2 flowey_lib_hvlite::init_cross_build 8 | |
| - name: cargo build ohcldiag-dev | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 2 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey_core::pipeline::artifact::publish 3 flowey_lib_hvlite::init_cross_build 6 | |
| - name: cargo build vmm_perf | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 8 flowey_lib_hvlite::run_cargo_build 12 flowey_lib_hvlite::build_vmm_perf 0 flowey_core::pipeline::artifact::publish 4 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo build prep_steps | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 3 flowey_lib_hvlite::build_prep_steps 0 flowey_core::pipeline::artifact::publish 5 flowey_lib_hvlite::init_cross_build 5 | |
| - name: cargo build vmgstool | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 7 flowey_lib_hvlite::run_cargo_build 11 flowey_lib_hvlite::build_vmgstool 0 flowey_core::pipeline::artifact::publish 6 flowey_lib_hvlite::init_cross_build 2 flowey_lib_hvlite::run_cargo_build 7 flowey_lib_hvlite::run_cargo_build 8 | |
| - name: cargo build tpm_guest_tests | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 5 flowey_lib_hvlite::run_cargo_build 9 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey_core::pipeline::artifact::publish 7 flowey_lib_hvlite::init_cross_build 1 flowey_lib_hvlite::run_cargo_build 4 flowey_lib_hvlite::run_cargo_build 5 | |
| - name: cargo build test_igvm_agent_rpc_server | |
| run: flowey.exe e 6 flowey_lib_common::run_cargo_build 4 flowey_lib_hvlite::run_cargo_build 6 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0 flowey_core::pipeline::artifact::publish 8 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 6 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish aarch64-windows-hypestv | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-ohcldiag-dev | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-prep_steps | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-prep_steps | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-test_igvm_agent_rpc_server | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-test_igvm_agent_rpc_server | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-tpm_guest_tests | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-tpm_guest_tests | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tpm_guest_tests/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-vmgs_lib | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-vmgs_lib | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-vmgstool-dev | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-vmgstool-dev | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-vmm-perf-runner | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-vmm-perf-runner | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-perf-runner/ | |
| include-hidden-files: true | |
| job7: | |
| name: build artifacts (for VMM tests) [aarch64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job7-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - name: πΌπ« Initialize job | |
| run: | | |
| AgentTempDirNormal="${{ runner.temp }}" | |
| AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV | |
| chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe | |
| echo '"debug"' | flowey.exe v 7 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 7 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 7 'verbose' update | |
| ${{ inputs.verbose != '' && inputs.verbose || 'false' }} | |
| EOF | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm" | |
| echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 7 '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 7 'artifact_publish_from_aarch64-windows-pipette' --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 7 '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 7 '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 7 'artifact_publish_from_aarch64-windows-vmm-tests-archive' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey.exe e 7 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 7 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 7 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey.exe v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| fetch-depth: '1' | |
| path: repo0 | |
| persist-credentials: ${{ env.floweyvar1 }} | |
| name: checkout repo openvmm | |
| if: ${{ fromJSON(env.FLOWEY_CONDITION) }} | |
| - name: report cloned repo directories | |
| run: |- | |
| flowey.exe v 7 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 7 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 7 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 7 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 7 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::cache 4 | |
| flowey.exe v 7 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 7 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 7 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 7 flowey_lib_common::cache 6 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 7 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 7 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build openvmm | |
| run: flowey.exe e 7 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::build_openvmm 0 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::init_cross_build 4 | |
| - name: cargo build tmk_vmm | |
| run: flowey.exe e 7 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 2 flowey_lib_hvlite::build_tmk_vmm 0 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build vmgstool | |
| run: flowey.exe e 7 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 3 flowey_lib_hvlite::build_vmgstool 0 flowey_core::pipeline::artifact::publish 2 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 7 flowey_lib_common::cache 0 | |
| flowey.exe v 7 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 7 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 7 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF | |
| ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} | |
| EOF | |
| flowey.exe e 7 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 7 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey.exe e 7 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: build + archive 'vmm_tests' nextests | |
| run: flowey.exe e 7 flowey_lib_common::run_cargo_nextest_archive 0 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey_core::pipeline::artifact::publish 3 flowey_lib_hvlite::init_cross_build 3 | |
| - name: cargo build pipette | |
| run: flowey.exe e 7 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_pipette 0 flowey_core::pipeline::artifact::publish 4 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 7 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 7 flowey_lib_common::cache 7 | |
| - name: πΌπ¦ Publish aarch64-windows-openvmm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-pipette | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish aarch64-windows-tmk_vmm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: aarch64-windows-vmm-tests-archive | |
| path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/ | |
| include-hidden-files: true | |
| job8: | |
| name: build artifacts (not for VMM tests) [x64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job8-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 8 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 8 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 8 '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 8 '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 8 '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 8 '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 8 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-perf-runner" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 8 'artifact_publish_from_x64-windows-vmm-perf-runner' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey.exe e 8 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 8 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 8 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 8 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 8 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey.exe v 8 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 8 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 8 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 8 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 8 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 8 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 8 flowey_lib_common::cache 0 | |
| flowey.exe v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 8 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 8 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 8 flowey_lib_common::cache 2 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 8 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 2 | |
| - name: cargo build hypestv | |
| run: flowey.exe e 8 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::build_hypestv 0 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: cargo build vmgs_lib | |
| run: flowey.exe e 8 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 3 flowey_lib_hvlite::build_and_test_vmgs_lib 0 | |
| - name: test vmgs_lib | |
| run: flowey.exe e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::init_cross_build 3 | |
| - name: cargo build igvmfilegen | |
| run: flowey.exe e 8 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_igvmfilegen 0 flowey_core::pipeline::artifact::publish 2 flowey_lib_hvlite::init_cross_build 4 | |
| - name: cargo build ohcldiag-dev | |
| run: flowey.exe e 8 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 2 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey_core::pipeline::artifact::publish 3 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build vmm_perf | |
| run: flowey.exe e 8 flowey_lib_common::run_cargo_build 4 flowey_lib_hvlite::run_cargo_build 4 flowey_lib_hvlite::build_vmm_perf 0 flowey_core::pipeline::artifact::publish 4 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 8 flowey_lib_common::cache 3 | |
| - name: πΌπ¦ Publish x64-windows-hypestv | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-vmgs_lib | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-vmm-perf-runner | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-vmm-perf-runner | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-perf-runner/ | |
| include-hidden-files: true | |
| job9: | |
| name: build artifacts (for VMM tests) [x64-windows] | |
| runs-on: | |
| - self-hosted | |
| - 1ES.Pool=openvmm-gh-intel-westus3-v6 | |
| - 1ES.ImageOverride=win-amd64-v2 | |
| - JobId=job9-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} | |
| permissions: | |
| contents: read | |
| id-token: write | |
| needs: | |
| - job0 | |
| if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - run: | | |
| set -x | |
| i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; | |
| sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y | |
| curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y | |
| . "$HOME/.cargo/env" | |
| echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
| rustup show | |
| if: runner.os == 'Linux' | |
| name: rustup (Linux) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'X64' | |
| name: rustup (Windows X64) | |
| - run: | | |
| set -x | |
| curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 | |
| ./rustup-init.exe -y --default-toolchain=1.95.0 | |
| echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH | |
| if: runner.os == 'Windows' && runner.arch == 'ARM64' | |
| name: rustup (Windows ARM64) | |
| - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| with: | |
| path: flowey_bootstrap | |
| - name: Build flowey | |
| run: | | |
| set -x | |
| CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci | |
| OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') | |
| mkdir -p "$OutDirNormal" | |
| mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" | |
| mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" | |
| working-directory: flowey_bootstrap | |
| - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH | |
| 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 | |
| - 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 9 'FLOWEY_LOG' update | |
| echo "${{ runner.temp }}/work" | flowey.exe v 9 '_internal_WORKING_DIR' --is-raw-string update | |
| cat <<'EOF' | flowey.exe v 9 '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 9 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-prep_steps" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-prep_steps" | flowey.exe v 9 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-test_igvm_agent_rpc_server" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 9 'artifact_publish_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tmk_vmm" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 9 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tpm_guest_tests" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 9 'artifact_publish_from_x64-windows-tpm_guest_tests' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool" | flowey.exe v 9 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool-dev" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 9 'artifact_publish_from_x64-windows-vmgstool-dev' --is-raw-string update | |
| mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-tests-archive" | |
| echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 9 'artifact_publish_from_x64-windows-vmm-tests-archive' --is-raw-string update | |
| - name: add default cargo home to path | |
| run: flowey.exe e 9 flowey_lib_common::install_rust 0 | |
| - name: install Rust | |
| run: flowey.exe e 9 flowey_lib_common::install_rust 1 | |
| - name: detect active toolchain | |
| run: flowey.exe e 9 flowey_lib_common::install_rust 2 flowey_lib_common::cfg_cargo_common_flags 0 | |
| - name: check if openvmm needs to be cloned | |
| run: |- | |
| flowey.exe e 9 flowey_lib_common::git_checkout 0 | |
| flowey.exe v 9 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 | |
| flowey.exe v 9 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION | |
| - id: flowey_lib_common__git_checkout__1 | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 | |
| 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 9 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <<EOF | |
| ${{ github.workspace }} | |
| EOF | |
| flowey.exe e 9 flowey_lib_common::git_checkout 3 | |
| - name: print system info | |
| run: flowey.exe e 9 flowey_lib_common::system_info 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0 | |
| - name: set '-Dwarnings' in .cargo/config.toml | |
| run: flowey.exe e 9 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 | |
| - name: create gh-release-download cache dir | |
| run: flowey.exe e 9 flowey_lib_common::download_gh_release 0 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 9 flowey_lib_common::cache 4 | |
| flowey.exe v 9 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 | |
| flowey.exe v 9 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 | |
| - id: flowey_lib_common__cache__5 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar4 }} | |
| path: ${{ env.floweyvar5 }} | |
| name: 'Restore cache: gh-release-download' | |
| - name: download artifacts from github releases | |
| run: |- | |
| flowey.exe v 9 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs' --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 9 flowey_lib_common::cache 6 flowey_lib_common::download_gh_release 1 | |
| - name: unpack protoc | |
| run: flowey.exe e 9 flowey_lib_common::resolve_protoc 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0 | |
| - name: symlink protoc | |
| run: flowey.exe e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 flowey_lib_hvlite::init_cross_build 5 | |
| - name: cargo build openvmm | |
| run: flowey.exe e 9 flowey_lib_common::run_cargo_build 0 flowey_lib_hvlite::run_cargo_build 0 flowey_lib_hvlite::build_openvmm 0 flowey_core::pipeline::artifact::publish 0 flowey_lib_hvlite::init_cross_build 1 | |
| - name: cargo build tmk_vmm | |
| run: flowey.exe e 9 flowey_lib_common::run_cargo_build 3 flowey_lib_hvlite::run_cargo_build 5 flowey_lib_hvlite::build_tmk_vmm 0 flowey_core::pipeline::artifact::publish 1 flowey_lib_hvlite::init_cross_build 4 | |
| - name: cargo build vmgstool | |
| run: flowey.exe e 9 flowey_lib_common::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 10 flowey_lib_hvlite::build_vmgstool 0 flowey_core::pipeline::artifact::publish 2 | |
| - name: create cargo-nextest cache dir | |
| run: flowey.exe e 9 flowey_lib_common::download_cargo_nextest 0 flowey_lib_common::download_cargo_nextest 1 | |
| - name: Pre-processing cache vars | |
| run: |- | |
| flowey.exe e 9 flowey_lib_common::cache 0 | |
| flowey.exe v 9 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 | |
| flowey.exe v 9 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 | |
| - id: flowey_lib_common__cache__1 | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 | |
| with: | |
| key: ${{ env.floweyvar2 }} | |
| path: ${{ env.floweyvar3 }} | |
| name: 'Restore cache: cargo-nextest' | |
| - name: downloading cargo-nextest | |
| run: |- | |
| flowey.exe v 9 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --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 9 flowey_lib_common::cache 2 flowey_lib_common::download_cargo_nextest 2 | |
| - name: report $CARGO_HOME | |
| run: flowey.exe e 9 flowey_lib_common::install_rust 3 | |
| - name: installing cargo-nextest | |
| run: flowey.exe e 9 flowey_lib_common::install_cargo_nextest 0 flowey_lib_hvlite::init_cross_build 0 | |
| - name: build + archive 'vmm_tests' nextests | |
| run: flowey.exe e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey_core::pipeline::artifact::publish 3 flowey_lib_hvlite::init_cross_build 6 | |
| - name: cargo build prep_steps | |
| run: flowey.exe e 9 flowey_lib_common::run_cargo_build 1 flowey_lib_hvlite::run_cargo_build 1 flowey_lib_hvlite::build_prep_steps 0 flowey_core::pipeline::artifact::publish 4 flowey_lib_hvlite::init_cross_build 3 | |
| - name: cargo build vmgstool | |
| run: flowey.exe e 9 flowey_lib_common::run_cargo_build 5 flowey_lib_hvlite::run_cargo_build 9 flowey_lib_hvlite::build_vmgstool 1 flowey_core::pipeline::artifact::publish 5 flowey_lib_hvlite::init_cross_build 2 flowey_lib_hvlite::run_cargo_build 6 flowey_lib_hvlite::run_cargo_build 7 | |
| - name: cargo build tpm_guest_tests | |
| run: flowey.exe e 9 flowey_lib_common::run_cargo_build 4 flowey_lib_hvlite::run_cargo_build 8 flowey_lib_hvlite::build_tpm_guest_tests 0 flowey_core::pipeline::artifact::publish 6 flowey_lib_hvlite::init_cross_build 7 flowey_lib_hvlite::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 3 | |
| - name: cargo build test_igvm_agent_rpc_server | |
| run: flowey.exe e 9 flowey_lib_common::run_cargo_build 2 flowey_lib_hvlite::run_cargo_build 4 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0 flowey_core::pipeline::artifact::publish 7 | |
| - name: 'validate cache entry: cargo-nextest' | |
| run: flowey.exe e 9 flowey_lib_common::cache 3 | |
| - name: 'validate cache entry: gh-release-download' | |
| run: flowey.exe e 9 flowey_lib_common::cache 7 | |
| - name: πΌπ¦ Publish x64-windows-openvmm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-openvmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-prep_steps | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-prep_steps | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-test_igvm_agent_rpc_server | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-test_igvm_agent_rpc_server | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-test_igvm_agent_rpc_server/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-tmk_vmm | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-tmk_vmm | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-tpm_guest_tests | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-tpm_guest_tests | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-tpm_guest_tests/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-vmgstool | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-vmgstool | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-vmgstool-dev | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: x64-windows-vmgstool-dev | |
| path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool-dev/ | |
| include-hidden-files: true | |
| - name: πΌπ¦ Publish x64-windows-vmm-tests-archive | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| 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/job9.json | |
| - name: πΌπ₯Ύ Publish bootstrapped flowey | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a | |
| with: | |
| name: _internal-flowey-bootstrap-x86_64-windows-uid-8 | |
| path: ${{ runner.temp }}/bootstrapped-flowey |