microsoft/openvmm

Public

mirrored from https://github.com/microsoft/openvmmAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
bc046e1ea621f83b97afc2694de8eed2ed249869

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

.github/workflows/openvmm-pr.yaml

8386lines · modecode

1##############################
2# THIS FILE IS AUTOGENERATED #
3# DO NOT MANUALLY EDIT #
4##############################
5name: OpenVMM PR
6on:
7 workflow_dispatch:
8 inputs:
9 verbose:
10 description: Run with verbose output
11 default: false
12 required: false
13 type: boolean
14 pull_request:
15 branches:
16 - main
17 - release/*
18 types:
19 - opened
20 - synchronize
21 - reopened
22 - ready_for_review
23concurrency:
24 group: ${{ github.workflow }}-${{ github.ref }}
25 cancel-in-progress: true
26jobs:
27 job0:
28 name: quick check [fmt, clippy x64-linux]
29 runs-on:
30 - self-hosted
31 - 1ES.Pool=openvmm-gh-amd-westus3
32 - 1ES.ImageOverride=ubuntu2404-amd64
33 - JobId=job0-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
34 permissions:
35 contents: read
36 id-token: write
37 if: github.event.pull_request.draft == false
38 steps:
39 - run: |
40 set -x
41 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
42 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
43 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
44 . "$HOME/.cargo/env"
45 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
46 rustup show
47 if: runner.os == 'Linux'
48 name: rustup (Linux)
49 shell: bash
50 - run: |
51 set -x
52 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
53 ./rustup-init.exe -y --default-toolchain=1.95.0
54 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
55 if: runner.os == 'Windows' && runner.arch == 'X64'
56 name: rustup (Windows X64)
57 shell: bash
58 - run: |
59 set -x
60 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
61 ./rustup-init.exe -y --default-toolchain=1.95.0
62 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
63 if: runner.os == 'Windows' && runner.arch == 'ARM64'
64 name: rustup (Windows ARM64)
65 shell: bash
66 - uses: actions/checkout@v6
67 with:
68 path: flowey_bootstrap
69 - name: Build flowey
70 run: |
71 set -x
72 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci
73 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
74 mkdir -p "$OutDirNormal"
75 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
76 mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
77 working-directory: flowey_bootstrap
78 shell: bash
79 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
80 shell: bash
81 name: 🌼📦 Add flowey to PATH
82 - name: 🌼🔎 Self-check YAML
83 run: |-
84 ESCAPED_AGENT_TEMPDIR=$(
85 cat <<'EOF' | sed 's/\\/\\\\/g'
86 ${{ runner.temp }}
87 EOF
88 )
89 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
90 shell: bash
91 - name: 🌼🛫 Initialize job
92 run: |
93 AgentTempDirNormal="${{ runner.temp }}"
94 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
95 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
96
97 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
98
99 echo '"debug"' | flowey v 0 'FLOWEY_LOG' update
100 echo "${{ runner.temp }}/work" | flowey v 0 '_internal_WORKING_DIR' --is-raw-string update
101
102 cat <<'EOF' | flowey v 0 'verbose' update
103 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
104 EOF
105 shell: bash
106 - name: check if openvmm needs to be cloned
107 run: |-
108 flowey e 0 flowey_lib_common::git_checkout 0
109 flowey v 0 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
110 flowey v 0 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
111 shell: bash
112 - id: flowey_lib_common__git_checkout__1
113 uses: actions/checkout@v6
114 with:
115 fetch-depth: '1'
116 path: repo0
117 persist-credentials: ${{ env.floweyvar1 }}
118 name: checkout repo openvmm
119 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
120 - name: report cloned repo directories
121 run: |-
122 flowey v 0 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
123 ${{ github.workspace }}
124 EOF
125 flowey e 0 flowey_lib_common::git_checkout 3
126 flowey e 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0
127 shell: bash
128 - name: add default cargo home to path
129 run: flowey e 0 flowey_lib_common::install_rust 0
130 shell: bash
131 - name: install Rust
132 run: flowey e 0 flowey_lib_common::install_rust 1
133 shell: bash
134 - name: detect active toolchain
135 run: |-
136 flowey e 0 flowey_lib_common::install_rust 2
137 flowey e 0 flowey_lib_common::cfg_cargo_common_flags 0
138 shell: bash
139 - name: set '-Dwarnings' in .cargo/config.toml
140 run: flowey e 0 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
141 shell: bash
142 - name: create gh-release-download cache dir
143 run: flowey e 0 flowey_lib_common::download_gh_release 0
144 shell: bash
145 - name: Pre-processing cache vars
146 run: |-
147 flowey e 0 flowey_lib_common::cache 0
148 flowey v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
149 flowey v 0 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
150 shell: bash
151 - id: flowey_lib_common__cache__1
152 uses: actions/cache@v5
153 with:
154 key: ${{ env.floweyvar2 }}
155 path: ${{ env.floweyvar3 }}
156 name: 'Restore cache: gh-release-download'
157 - name: download artifacts from github releases
158 run: |-
159 flowey v 0 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
160 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
161 EOF
162 flowey e 0 flowey_lib_common::cache 2
163 flowey e 0 flowey_lib_common::download_gh_release 1
164 shell: bash
165 - name: checking if packages need to be installed
166 run: flowey e 0 flowey_lib_common::install_dist_pkg 0
167 shell: bash
168 - name: installing packages
169 run: flowey e 0 flowey_lib_common::install_dist_pkg 1
170 shell: bash
171 - name: unpack protoc
172 run: |-
173 flowey e 0 flowey_lib_common::resolve_protoc 0
174 flowey e 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0
175 shell: bash
176 - name: symlink protoc
177 run: |-
178 flowey e 0 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
179 flowey e 0 flowey_lib_hvlite::init_cross_build 2
180 shell: bash
181 - name: cargo build xtask
182 run: |-
183 flowey e 0 flowey_lib_common::run_cargo_build 1
184 flowey e 0 flowey_lib_hvlite::run_cargo_build 2
185 shell: bash
186 - name: split debug symbols
187 run: |-
188 flowey e 0 flowey_lib_hvlite::run_split_debug_info 0
189 flowey e 0 flowey_lib_hvlite::run_cargo_build 3
190 flowey e 0 flowey_lib_hvlite::build_xtask 1
191 shell: bash
192 - name: run xtask fmt
193 run: |-
194 flowey e 0 flowey_lib_hvlite::_jobs::check_xtask_fmt 0
195 flowey e 0 flowey_lib_hvlite::init_cross_build 0
196 shell: bash
197 - name: cargo clippy
198 run: |-
199 flowey e 0 flowey_lib_common::run_cargo_clippy 1
200 flowey e 0 flowey_lib_hvlite::init_cross_build 1
201 shell: bash
202 - name: cargo build xtask
203 run: |-
204 flowey e 0 flowey_lib_common::run_cargo_build 0
205 flowey e 0 flowey_lib_hvlite::run_cargo_build 0
206 shell: bash
207 - name: split debug symbols
208 run: |-
209 flowey e 0 flowey_lib_hvlite::run_split_debug_info 1
210 flowey e 0 flowey_lib_hvlite::run_cargo_build 1
211 flowey e 0 flowey_lib_hvlite::build_xtask 0
212 shell: bash
213 - name: determine clippy exclusions
214 run: flowey e 0 flowey_lib_hvlite::_jobs::check_clippy 0
215 shell: bash
216 - name: cargo clippy
217 run: flowey e 0 flowey_lib_common::run_cargo_clippy 0
218 shell: bash
219 - name: cargo clippy
220 run: flowey e 0 flowey_lib_common::run_cargo_clippy 2
221 shell: bash
222 - name: cargo clippy
223 run: flowey e 0 flowey_lib_common::run_cargo_clippy 4
224 shell: bash
225 - name: cargo clippy
226 run: flowey e 0 flowey_lib_common::run_cargo_clippy 3
227 shell: bash
228 - name: 'validate cache entry: gh-release-download'
229 run: flowey e 0 flowey_lib_common::cache 3
230 shell: bash
231 - name: 🌼🧼 Redact bootstrap var db
232 run: rm $AgentTempDirNormal/bootstrapped-flowey/job0.json
233 shell: bash
234 - name: 🌼🥾 Publish bootstrapped flowey
235 uses: actions/upload-artifact@v7
236 with:
237 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
238 path: ${{ runner.temp }}/bootstrapped-flowey
239 job1:
240 name: xtask fmt (windows)
241 runs-on: windows-latest
242 permissions:
243 contents: read
244 id-token: write
245 needs:
246 - job0
247 if: github.event.pull_request.draft == false
248 steps:
249 - run: |
250 set -x
251 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
252 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
253 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
254 . "$HOME/.cargo/env"
255 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
256 rustup show
257 if: runner.os == 'Linux'
258 name: rustup (Linux)
259 shell: bash
260 - run: |
261 set -x
262 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
263 ./rustup-init.exe -y --default-toolchain=1.95.0
264 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
265 if: runner.os == 'Windows' && runner.arch == 'X64'
266 name: rustup (Windows X64)
267 shell: bash
268 - run: |
269 set -x
270 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
271 ./rustup-init.exe -y --default-toolchain=1.95.0
272 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
273 if: runner.os == 'Windows' && runner.arch == 'ARM64'
274 name: rustup (Windows ARM64)
275 shell: bash
276 - uses: actions/checkout@v6
277 with:
278 path: flowey_bootstrap
279 - name: Build flowey
280 run: |
281 set -x
282 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
283 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
284 mkdir -p "$OutDirNormal"
285 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
286 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
287 working-directory: flowey_bootstrap
288 shell: bash
289 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
290 shell: bash
291 name: 🌼📦 Add flowey to PATH
292 - name: 🌼🔎 Self-check YAML
293 run: |-
294 ESCAPED_AGENT_TEMPDIR=$(
295 cat <<'EOF' | sed 's/\\/\\\\/g'
296 ${{ runner.temp }}
297 EOF
298 )
299 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
300 shell: bash
301 - name: 🌼🛫 Initialize job
302 run: |
303 AgentTempDirNormal="${{ runner.temp }}"
304 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
305 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
306
307 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
308
309 echo '"debug"' | flowey.exe v 1 'FLOWEY_LOG' update
310 echo "${{ runner.temp }}/work" | flowey.exe v 1 '_internal_WORKING_DIR' --is-raw-string update
311
312 cat <<'EOF' | flowey.exe v 1 'verbose' update
313 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
314 EOF
315 shell: bash
316 - name: check if openvmm needs to be cloned
317 run: |-
318 flowey.exe e 1 flowey_lib_common::git_checkout 0
319 flowey.exe v 1 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
320 flowey.exe v 1 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
321 shell: bash
322 - id: flowey_lib_common__git_checkout__1
323 uses: actions/checkout@v6
324 with:
325 fetch-depth: '1'
326 path: repo0
327 persist-credentials: ${{ env.floweyvar1 }}
328 name: checkout repo openvmm
329 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
330 - name: report cloned repo directories
331 run: |-
332 flowey.exe v 1 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
333 ${{ github.workspace }}
334 EOF
335 flowey.exe e 1 flowey_lib_common::git_checkout 3
336 flowey.exe e 1 flowey_lib_hvlite::git_checkout_openvmm_repo 0
337 shell: bash
338 - name: add default cargo home to path
339 run: flowey.exe e 1 flowey_lib_common::install_rust 0
340 shell: bash
341 - name: install Rust
342 run: flowey.exe e 1 flowey_lib_common::install_rust 1
343 shell: bash
344 - name: detect active toolchain
345 run: |-
346 flowey.exe e 1 flowey_lib_common::install_rust 2
347 flowey.exe e 1 flowey_lib_common::cfg_cargo_common_flags 0
348 shell: bash
349 - name: set '-Dwarnings' in .cargo/config.toml
350 run: flowey.exe e 1 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
351 shell: bash
352 - name: create gh-release-download cache dir
353 run: flowey.exe e 1 flowey_lib_common::download_gh_release 0
354 shell: bash
355 - name: Pre-processing cache vars
356 run: |-
357 flowey.exe e 1 flowey_lib_common::cache 0
358 flowey.exe v 1 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
359 flowey.exe v 1 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
360 shell: bash
361 - id: flowey_lib_common__cache__1
362 uses: actions/cache@v5
363 with:
364 key: ${{ env.floweyvar2 }}
365 path: ${{ env.floweyvar3 }}
366 name: 'Restore cache: gh-release-download'
367 - name: download artifacts from github releases
368 run: |-
369 flowey.exe v 1 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
370 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
371 EOF
372 flowey.exe e 1 flowey_lib_common::cache 2
373 flowey.exe e 1 flowey_lib_common::download_gh_release 1
374 shell: bash
375 - name: unpack protoc
376 run: |-
377 flowey.exe e 1 flowey_lib_common::resolve_protoc 0
378 flowey.exe e 1 flowey_lib_hvlite::cfg_openvmm_magicpath 0
379 shell: bash
380 - name: symlink protoc
381 run: |-
382 flowey.exe e 1 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
383 flowey.exe e 1 flowey_lib_hvlite::init_cross_build 0
384 shell: bash
385 - name: cargo build xtask
386 run: |-
387 flowey.exe e 1 flowey_lib_common::run_cargo_build 0
388 flowey.exe e 1 flowey_lib_hvlite::run_cargo_build 0
389 flowey.exe e 1 flowey_lib_hvlite::build_xtask 0
390 shell: bash
391 - name: run xtask fmt
392 run: flowey.exe e 1 flowey_lib_hvlite::_jobs::check_xtask_fmt 0
393 shell: bash
394 - name: 'validate cache entry: gh-release-download'
395 run: flowey.exe e 1 flowey_lib_common::cache 3
396 shell: bash
397 job10:
398 name: build openhcl [aarch64-linux]
399 runs-on:
400 - self-hosted
401 - 1ES.Pool=openvmm-gh-amd-westus3
402 - 1ES.ImageOverride=ubuntu2404-amd64
403 - JobId=job10-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
404 permissions:
405 contents: read
406 id-token: write
407 needs:
408 - job0
409 if: github.event.pull_request.draft == false
410 steps:
411 - name: 🌼📦 Download artifacts
412 uses: actions/download-artifact@v8
413 with:
414 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
415 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
416 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
417 shell: bash
418 name: 🌼📦 Add flowey to PATH
419 - name: 🌼🛫 Initialize job
420 run: |
421 AgentTempDirNormal="${{ runner.temp }}"
422 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
423 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
424
425 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
426
427 echo '"debug"' | flowey v 10 'FLOWEY_LOG' update
428 echo "${{ runner.temp }}/work" | flowey v 10 '_internal_WORKING_DIR' --is-raw-string update
429
430 cat <<'EOF' | flowey v 10 'verbose' update
431 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
432 EOF
433 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm"
434 echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update
435 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras"
436 echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 10 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update
437 shell: bash
438 - name: checking if packages need to be installed
439 run: flowey e 10 flowey_lib_common::install_dist_pkg 0
440 shell: bash
441 - name: installing packages
442 run: flowey e 10 flowey_lib_common::install_dist_pkg 1
443 shell: bash
444 - name: create gh-release-download cache dir
445 run: flowey e 10 flowey_lib_common::download_gh_release 0
446 shell: bash
447 - name: Pre-processing cache vars
448 run: |-
449 flowey e 10 flowey_lib_common::cache 0
450 flowey v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1
451 flowey v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2
452 shell: bash
453 - id: flowey_lib_common__cache__1
454 uses: actions/cache@v5
455 with:
456 key: ${{ env.floweyvar1 }}
457 path: ${{ env.floweyvar2 }}
458 name: 'Restore cache: gh-release-download'
459 - name: download artifacts from github releases
460 run: |-
461 flowey v 10 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
462 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
463 EOF
464 flowey e 10 flowey_lib_common::cache 2
465 flowey e 10 flowey_lib_common::download_gh_release 1
466 shell: bash
467 - name: unpack mu_msvm package (aarch64)
468 run: flowey e 10 flowey_lib_hvlite::download_uefi_mu_msvm 0
469 shell: bash
470 - name: add default cargo home to path
471 run: flowey e 10 flowey_lib_common::install_rust 0
472 shell: bash
473 - name: install Rust
474 run: flowey e 10 flowey_lib_common::install_rust 1
475 shell: bash
476 - name: detect active toolchain
477 run: |-
478 flowey e 10 flowey_lib_common::install_rust 2
479 flowey e 10 flowey_lib_common::cfg_cargo_common_flags 0
480 shell: bash
481 - name: check if openvmm needs to be cloned
482 run: |-
483 flowey e 10 flowey_lib_common::git_checkout 0
484 flowey v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
485 flowey v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
486 shell: bash
487 - id: flowey_lib_common__git_checkout__1
488 uses: actions/checkout@v6
489 with:
490 fetch-depth: '1'
491 path: repo0
492 persist-credentials: ${{ env.floweyvar3 }}
493 name: checkout repo openvmm
494 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
495 - name: report cloned repo directories
496 run: |-
497 flowey v 10 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
498 ${{ github.workspace }}
499 EOF
500 flowey e 10 flowey_lib_common::git_checkout 3
501 flowey e 10 flowey_lib_hvlite::git_checkout_openvmm_repo 0
502 shell: bash
503 - name: set '-Dwarnings' in .cargo/config.toml
504 run: flowey e 10 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
505 shell: bash
506 - name: unpack protoc
507 run: |-
508 flowey e 10 flowey_lib_common::resolve_protoc 0
509 flowey e 10 flowey_lib_hvlite::cfg_openvmm_magicpath 0
510 shell: bash
511 - name: symlink protoc
512 run: |-
513 flowey e 10 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
514 flowey e 10 flowey_lib_hvlite::init_cross_build 0
515 flowey e 10 flowey_lib_hvlite::run_cargo_build 2
516 flowey e 10 flowey_lib_hvlite::run_cargo_build 3
517 shell: bash
518 - name: cargo build openhcl_boot
519 run: |-
520 flowey e 10 flowey_lib_common::run_cargo_build 1
521 flowey e 10 flowey_lib_hvlite::run_cargo_build 4
522 shell: bash
523 - name: split debug symbols
524 run: |-
525 flowey e 10 flowey_lib_hvlite::run_split_debug_info 2
526 flowey e 10 flowey_lib_hvlite::run_cargo_build 5
527 flowey e 10 flowey_lib_hvlite::build_openhcl_boot 0
528 shell: bash
529 - name: extract and resolve kernel package
530 run: |-
531 flowey e 10 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
532 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
533 shell: bash
534 - name: unpack openvmm-deps archive
535 run: flowey e 10 flowey_lib_hvlite::resolve_openvmm_deps 0
536 shell: bash
537 - name: extract Aarch64 sysroot.tar.gz
538 run: |-
539 flowey e 10 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
540 flowey e 10 flowey_lib_hvlite::init_cross_build 1
541 shell: bash
542 - name: cargo build openvmm_hcl
543 run: |-
544 flowey e 10 flowey_lib_common::run_cargo_build 2
545 flowey e 10 flowey_lib_hvlite::run_cargo_build 6
546 flowey e 10 flowey_lib_hvlite::build_openvmm_hcl 0
547 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
548 shell: bash
549 - name: split debug symbols
550 run: |-
551 flowey e 10 flowey_lib_hvlite::run_split_debug_info 1
552 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
553 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
554 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
555 shell: bash
556 - name: building openhcl initrd
557 run: |-
558 flowey e 10 flowey_lib_hvlite::build_openhcl_initrd 1
559 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
560 flowey e 10 flowey_lib_hvlite::init_cross_build 2
561 shell: bash
562 - name: cargo build igvmfilegen
563 run: |-
564 flowey e 10 flowey_lib_common::run_cargo_build 0
565 flowey e 10 flowey_lib_hvlite::run_cargo_build 0
566 shell: bash
567 - name: split debug symbols
568 run: |-
569 flowey e 10 flowey_lib_hvlite::run_split_debug_info 3
570 flowey e 10 flowey_lib_hvlite::run_cargo_build 1
571 flowey e 10 flowey_lib_hvlite::build_igvmfilegen 0
572 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
573 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
574 shell: bash
575 - name: building igvm file
576 run: |-
577 flowey e 10 flowey_lib_hvlite::run_igvmfilegen 1
578 flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
579 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
580 shell: bash
581 - name: extract and resolve kernel package
582 run: |-
583 flowey e 10 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
584 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
585 shell: bash
586 - name: split debug symbols
587 run: |-
588 flowey e 10 flowey_lib_hvlite::run_split_debug_info 0
589 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
590 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
591 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
592 shell: bash
593 - name: building openhcl initrd
594 run: |-
595 flowey e 10 flowey_lib_hvlite::build_openhcl_initrd 0
596 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
597 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
598 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
599 shell: bash
600 - name: building igvm file
601 run: |-
602 flowey e 10 flowey_lib_hvlite::run_igvmfilegen 0
603 flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
604 flowey e 10 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
605 shell: bash
606 - name: copying OpenHCL igvm files to artifact dir
607 run: |-
608 flowey e 10 flowey_lib_common::copy_to_artifact_dir 1
609 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
610 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
611 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
612 flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
613 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
614 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
615 flowey e 10 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
616 flowey e 10 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
617 flowey e 10 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
618 shell: bash
619 - name: copying OpenHCL igvm extras to artifact dir
620 run: flowey e 10 flowey_lib_common::copy_to_artifact_dir 0
621 shell: bash
622 - name: 'validate cache entry: gh-release-download'
623 run: flowey e 10 flowey_lib_common::cache 3
624 shell: bash
625 - name: 🌼📦 Publish aarch64-openhcl-igvm
626 uses: actions/upload-artifact@v7
627 with:
628 name: aarch64-openhcl-igvm
629 path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/
630 include-hidden-files: true
631 - name: 🌼📦 Publish aarch64-openhcl-igvm-extras
632 uses: actions/upload-artifact@v7
633 with:
634 name: aarch64-openhcl-igvm-extras
635 path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/
636 include-hidden-files: true
637 job11:
638 name: verify openhcl binary size [aarch64]
639 runs-on: ubuntu-latest
640 permissions:
641 contents: read
642 id-token: write
643 needs:
644 - job0
645 if: github.event.pull_request.draft == false
646 steps:
647 - name: 🌼📦 Download artifacts
648 uses: actions/download-artifact@v8
649 with:
650 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
651 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
652 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
653 shell: bash
654 name: 🌼📦 Add flowey to PATH
655 - name: 🌼🛫 Initialize job
656 run: |
657 AgentTempDirNormal="${{ runner.temp }}"
658 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
659 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
660
661 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
662
663 echo '"debug"' | flowey v 11 'FLOWEY_LOG' update
664 echo "${{ runner.temp }}/work" | flowey v 11 '_internal_WORKING_DIR' --is-raw-string update
665
666 cat <<'EOF' | flowey v 11 'verbose' update
667 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
668 EOF
669 shell: bash
670 - name: add default cargo home to path
671 run: flowey e 11 flowey_lib_common::install_rust 0
672 shell: bash
673 - name: install Rust
674 run: flowey e 11 flowey_lib_common::install_rust 1
675 shell: bash
676 - name: detect active toolchain
677 run: |-
678 flowey e 11 flowey_lib_common::install_rust 2
679 flowey e 11 flowey_lib_common::cfg_cargo_common_flags 0
680 shell: bash
681 - name: check if openvmm needs to be cloned
682 run: |-
683 flowey e 11 flowey_lib_common::git_checkout 0
684 flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar2
685 flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
686 shell: bash
687 - id: flowey_lib_common__git_checkout__1
688 uses: actions/checkout@v6
689 with:
690 fetch-depth: '1'
691 path: repo0
692 persist-credentials: ${{ env.floweyvar2 }}
693 name: checkout repo openvmm
694 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
695 - name: report cloned repo directories
696 run: |-
697 flowey v 11 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
698 ${{ github.workspace }}
699 EOF
700 flowey e 11 flowey_lib_common::git_checkout 3
701 flowey e 11 flowey_lib_hvlite::git_checkout_openvmm_repo 0
702 flowey e 11 flowey_lib_hvlite::cfg_openvmm_magicpath 0
703 shell: bash
704 - name: create gh-release-download cache dir
705 run: flowey e 11 flowey_lib_common::download_gh_release 0
706 shell: bash
707 - name: Pre-processing cache vars
708 run: |-
709 flowey e 11 flowey_lib_common::cache 4
710 flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5
711 flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6
712 shell: bash
713 - id: flowey_lib_common__cache__5
714 uses: actions/cache@v5
715 with:
716 key: ${{ env.floweyvar5 }}
717 path: ${{ env.floweyvar6 }}
718 name: 'Restore cache: gh-release-download'
719 - name: download artifacts from github releases
720 run: |-
721 flowey v 11 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
722 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
723 EOF
724 flowey e 11 flowey_lib_common::cache 6
725 flowey e 11 flowey_lib_common::download_gh_release 1
726 shell: bash
727 - name: unpack openvmm-deps archive
728 run: flowey e 11 flowey_lib_hvlite::resolve_openvmm_deps 0
729 shell: bash
730 - name: extract Aarch64 sysroot.tar.gz
731 run: flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
732 shell: bash
733 - name: set '-Dwarnings' in .cargo/config.toml
734 run: flowey e 11 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
735 shell: bash
736 - name: checking if packages need to be installed
737 run: flowey e 11 flowey_lib_common::install_dist_pkg 0
738 shell: bash
739 - name: installing packages
740 run: flowey e 11 flowey_lib_common::install_dist_pkg 1
741 shell: bash
742 - name: unpack protoc
743 run: flowey e 11 flowey_lib_common::resolve_protoc 0
744 shell: bash
745 - name: symlink protoc
746 run: |-
747 flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
748 flowey e 11 flowey_lib_hvlite::init_cross_build 0
749 shell: bash
750 - name: cargo build openvmm_hcl
751 run: |-
752 flowey e 11 flowey_lib_common::run_cargo_build 0
753 flowey e 11 flowey_lib_hvlite::run_cargo_build 0
754 shell: bash
755 - name: split debug symbols
756 run: |-
757 flowey e 11 flowey_lib_hvlite::run_split_debug_info 0
758 flowey e 11 flowey_lib_hvlite::run_cargo_build 1
759 flowey e 11 flowey_lib_hvlite::build_openvmm_hcl 0
760 shell: bash
761 - name: collect openvmm_hcl files for analysis
762 run: |-
763 flowey e 11 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 1
764 flowey v 11 'flowey_lib_hvlite::_jobs::check_openvmm_hcl_size:8:flowey_lib_hvlite/src/_jobs/check_openvmm_hcl_size.rs:119:27' --is-raw-string write-to-env github floweyvar1
765 shell: bash
766 - id: flowey_lib_hvlite___jobs__check_openvmm_hcl_size__2
767 uses: actions/upload-artifact@v7
768 with:
769 name: aarch64_openvmm_hcl_for_size_analysis
770 path: ${{ env.floweyvar1 }}
771 name: publish openvmm_hcl for analysis
772 - name: cargo build xtask
773 run: |-
774 flowey e 11 flowey_lib_hvlite::init_cross_build 1
775 flowey e 11 flowey_lib_common::run_cargo_build 1
776 flowey e 11 flowey_lib_hvlite::run_cargo_build 2
777 shell: bash
778 - name: split debug symbols
779 run: |-
780 flowey e 11 flowey_lib_hvlite::run_split_debug_info 1
781 flowey e 11 flowey_lib_hvlite::run_cargo_build 3
782 flowey e 11 flowey_lib_hvlite::build_xtask 0
783 shell: bash
784 - name: create gh cache dir
785 run: flowey e 11 flowey_lib_common::download_gh_cli 0
786 shell: bash
787 - name: Pre-processing cache vars
788 run: |-
789 flowey e 11 flowey_lib_common::cache 0
790 flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3
791 flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4
792 shell: bash
793 - id: flowey_lib_common__cache__1
794 uses: actions/cache@v5
795 with:
796 key: ${{ env.floweyvar3 }}
797 path: ${{ env.floweyvar4 }}
798 name: 'Restore cache: gh-cli'
799 - name: installing gh
800 run: |-
801 flowey v 11 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
802 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
803 EOF
804 flowey e 11 flowey_lib_common::cache 2
805 flowey e 11 flowey_lib_common::download_gh_cli 1
806 flowey v 11 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
807 ${{ github.token }}
808 EOF
809 shell: bash
810 - name: setup gh cli
811 run: flowey e 11 flowey_lib_common::use_gh_cli 0
812 shell: bash
813 - name: get merge commit
814 run: flowey e 11 flowey_lib_common::git_merge_commit 0
815 shell: bash
816 - name: get action id by commit
817 run: |-
818 flowey e 11 flowey_lib_common::gh_workflow_id 0
819 flowey e 11 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 0
820 shell: bash
821 - name: download artifacts from github actions run
822 run: flowey e 11 flowey_lib_common::download_gh_artifact 0
823 shell: bash
824 - name: binary size comparison
825 run: flowey e 11 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 3
826 shell: bash
827 - name: 'validate cache entry: gh-cli'
828 run: flowey e 11 flowey_lib_common::cache 3
829 shell: bash
830 - name: 'validate cache entry: gh-release-download'
831 run: flowey e 11 flowey_lib_common::cache 7
832 shell: bash
833 job12:
834 name: build openhcl [x64-linux]
835 runs-on:
836 - self-hosted
837 - 1ES.Pool=openvmm-gh-amd-westus3
838 - 1ES.ImageOverride=ubuntu2404-amd64
839 - JobId=job12-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
840 permissions:
841 contents: read
842 id-token: write
843 needs:
844 - job0
845 if: github.event.pull_request.draft == false
846 steps:
847 - name: 🌼📦 Download artifacts
848 uses: actions/download-artifact@v8
849 with:
850 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
851 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
852 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
853 shell: bash
854 name: 🌼📦 Add flowey to PATH
855 - name: 🌼🛫 Initialize job
856 run: |
857 AgentTempDirNormal="${{ runner.temp }}"
858 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
859 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
860
861 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
862
863 echo '"debug"' | flowey v 12 'FLOWEY_LOG' update
864 echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update
865
866 cat <<'EOF' | flowey v 12 'verbose' update
867 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
868 EOF
869 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm"
870 echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 12 'artifact_publish_from_x64-openhcl-igvm' --is-raw-string update
871 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras"
872 echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | flowey v 12 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update
873 shell: bash
874 - name: checking if packages need to be installed
875 run: flowey e 12 flowey_lib_common::install_dist_pkg 0
876 shell: bash
877 - name: installing packages
878 run: flowey e 12 flowey_lib_common::install_dist_pkg 1
879 shell: bash
880 - name: create gh-release-download cache dir
881 run: flowey e 12 flowey_lib_common::download_gh_release 0
882 shell: bash
883 - name: Pre-processing cache vars
884 run: |-
885 flowey e 12 flowey_lib_common::cache 0
886 flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1
887 flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2
888 shell: bash
889 - id: flowey_lib_common__cache__1
890 uses: actions/cache@v5
891 with:
892 key: ${{ env.floweyvar1 }}
893 path: ${{ env.floweyvar2 }}
894 name: 'Restore cache: gh-release-download'
895 - name: download artifacts from github releases
896 run: |-
897 flowey v 12 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
898 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
899 EOF
900 flowey e 12 flowey_lib_common::cache 2
901 flowey e 12 flowey_lib_common::download_gh_release 1
902 shell: bash
903 - name: unpack mu_msvm package (x64)
904 run: flowey e 12 flowey_lib_hvlite::download_uefi_mu_msvm 0
905 shell: bash
906 - name: add default cargo home to path
907 run: flowey e 12 flowey_lib_common::install_rust 0
908 shell: bash
909 - name: install Rust
910 run: flowey e 12 flowey_lib_common::install_rust 1
911 shell: bash
912 - name: detect active toolchain
913 run: |-
914 flowey e 12 flowey_lib_common::install_rust 2
915 flowey e 12 flowey_lib_common::cfg_cargo_common_flags 0
916 shell: bash
917 - name: check if openvmm needs to be cloned
918 run: |-
919 flowey e 12 flowey_lib_common::git_checkout 0
920 flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
921 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
922 shell: bash
923 - id: flowey_lib_common__git_checkout__1
924 uses: actions/checkout@v6
925 with:
926 fetch-depth: '1'
927 path: repo0
928 persist-credentials: ${{ env.floweyvar3 }}
929 name: checkout repo openvmm
930 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
931 - name: report cloned repo directories
932 run: |-
933 flowey v 12 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
934 ${{ github.workspace }}
935 EOF
936 flowey e 12 flowey_lib_common::git_checkout 3
937 flowey e 12 flowey_lib_hvlite::git_checkout_openvmm_repo 0
938 shell: bash
939 - name: set '-Dwarnings' in .cargo/config.toml
940 run: flowey e 12 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
941 shell: bash
942 - name: unpack protoc
943 run: |-
944 flowey e 12 flowey_lib_common::resolve_protoc 0
945 flowey e 12 flowey_lib_hvlite::cfg_openvmm_magicpath 0
946 shell: bash
947 - name: symlink protoc
948 run: |-
949 flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
950 flowey e 12 flowey_lib_hvlite::init_cross_build 0
951 flowey e 12 flowey_lib_hvlite::run_cargo_build 7
952 flowey e 12 flowey_lib_hvlite::run_cargo_build 8
953 shell: bash
954 - name: cargo build sidecar
955 run: |-
956 flowey e 12 flowey_lib_common::run_cargo_build 3
957 flowey e 12 flowey_lib_hvlite::run_cargo_build 9
958 shell: bash
959 - name: split debug symbols
960 run: |-
961 flowey e 12 flowey_lib_hvlite::run_split_debug_info 6
962 flowey e 12 flowey_lib_hvlite::run_cargo_build 10
963 flowey e 12 flowey_lib_hvlite::build_sidecar 0
964 flowey e 12 flowey_lib_hvlite::init_cross_build 1
965 flowey e 12 flowey_lib_hvlite::run_cargo_build 2
966 flowey e 12 flowey_lib_hvlite::run_cargo_build 3
967 shell: bash
968 - name: cargo build openhcl_boot
969 run: |-
970 flowey e 12 flowey_lib_common::run_cargo_build 1
971 flowey e 12 flowey_lib_hvlite::run_cargo_build 4
972 shell: bash
973 - name: split debug symbols
974 run: |-
975 flowey e 12 flowey_lib_hvlite::run_split_debug_info 5
976 flowey e 12 flowey_lib_hvlite::run_cargo_build 5
977 flowey e 12 flowey_lib_hvlite::build_openhcl_boot 0
978 shell: bash
979 - name: extract and resolve kernel package
980 run: |-
981 flowey e 12 flowey_lib_hvlite::resolve_openhcl_kernel_package 2
982 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28
983 shell: bash
984 - name: unpack openvmm-deps archive
985 run: flowey e 12 flowey_lib_hvlite::resolve_openvmm_deps 0
986 shell: bash
987 - name: extract X86_64 sysroot.tar.gz
988 run: |-
989 flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
990 flowey e 12 flowey_lib_hvlite::init_cross_build 3
991 shell: bash
992 - name: cargo build openvmm_hcl
993 run: |-
994 flowey e 12 flowey_lib_common::run_cargo_build 2
995 flowey e 12 flowey_lib_hvlite::run_cargo_build 6
996 flowey e 12 flowey_lib_hvlite::build_openvmm_hcl 0
997 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24
998 shell: bash
999 - name: split debug symbols
1000 run: |-
1001 flowey e 12 flowey_lib_hvlite::run_split_debug_info 4
1002 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25
1003 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26
1004 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29
1005 shell: bash
1006 - name: building openhcl initrd
1007 run: |-
1008 flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 4
1009 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30
1010 flowey e 12 flowey_lib_hvlite::init_cross_build 2
1011 shell: bash
1012 - name: cargo build igvmfilegen
1013 run: |-
1014 flowey e 12 flowey_lib_common::run_cargo_build 0
1015 flowey e 12 flowey_lib_hvlite::run_cargo_build 0
1016 shell: bash
1017 - name: split debug symbols
1018 run: |-
1019 flowey e 12 flowey_lib_hvlite::run_split_debug_info 7
1020 flowey e 12 flowey_lib_hvlite::run_cargo_build 1
1021 flowey e 12 flowey_lib_hvlite::build_igvmfilegen 0
1022 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31
1023 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32
1024 shell: bash
1025 - name: building igvm file
1026 run: |-
1027 flowey e 12 flowey_lib_hvlite::run_igvmfilegen 4
1028 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
1029 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 39
1030 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35
1031 shell: bash
1032 - name: split debug symbols
1033 run: |-
1034 flowey e 12 flowey_lib_hvlite::run_split_debug_info 0
1035 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36
1036 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37
1037 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 40
1038 shell: bash
1039 - name: extract and resolve kernel package
1040 run: flowey e 12 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
1041 shell: bash
1042 - name: building openhcl initrd
1043 run: flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 0
1044 shell: bash
1045 - name: unpack openvmm-test-linux archives
1046 run: flowey e 12 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
1047 shell: bash
1048 - name: unpack openvmm-test-initrd archives
1049 run: |-
1050 flowey e 12 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
1051 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 41
1052 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 42
1053 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 43
1054 shell: bash
1055 - name: building igvm file
1056 run: |-
1057 flowey e 12 flowey_lib_hvlite::run_igvmfilegen 0
1058 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4
1059 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 50
1060 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 46
1061 shell: bash
1062 - name: split debug symbols
1063 run: |-
1064 flowey e 12 flowey_lib_hvlite::run_split_debug_info 1
1065 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 47
1066 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 48
1067 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 51
1068 shell: bash
1069 - name: building openhcl initrd
1070 run: |-
1071 flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 1
1072 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 52
1073 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 53
1074 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 54
1075 shell: bash
1076 - name: building igvm file
1077 run: |-
1078 flowey e 12 flowey_lib_hvlite::run_igvmfilegen 1
1079 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 6
1080 shell: bash
1081 - name: extract and resolve kernel package
1082 run: |-
1083 flowey e 12 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
1084 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
1085 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
1086 shell: bash
1087 - name: split debug symbols
1088 run: |-
1089 flowey e 12 flowey_lib_hvlite::run_split_debug_info 3
1090 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
1091 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
1092 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
1093 shell: bash
1094 - name: building openhcl initrd
1095 run: |-
1096 flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 3
1097 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
1098 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
1099 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
1100 shell: bash
1101 - name: building igvm file
1102 run: |-
1103 flowey e 12 flowey_lib_hvlite::run_igvmfilegen 3
1104 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 8
1105 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
1106 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
1107 shell: bash
1108 - name: split debug symbols
1109 run: |-
1110 flowey e 12 flowey_lib_hvlite::run_split_debug_info 2
1111 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
1112 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
1113 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
1114 shell: bash
1115 - name: building openhcl initrd
1116 run: |-
1117 flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 2
1118 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
1119 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
1120 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
1121 shell: bash
1122 - name: building igvm file
1123 run: |-
1124 flowey e 12 flowey_lib_hvlite::run_igvmfilegen 2
1125 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
1126 flowey e 12 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
1127 shell: bash
1128 - name: copying OpenHCL igvm files to artifact dir
1129 run: |-
1130 flowey e 12 flowey_lib_common::copy_to_artifact_dir 1
1131 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22
1132 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27
1133 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23
1134 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
1135 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 38
1136 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34
1137 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33
1138 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5
1139 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 49
1140 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 45
1141 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 44
1142 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 7
1143 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
1144 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
1145 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
1146 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 9
1147 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
1148 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
1149 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
1150 flowey e 12 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
1151 flowey e 12 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
1152 shell: bash
1153 - name: copying OpenHCL igvm extras to artifact dir
1154 run: flowey e 12 flowey_lib_common::copy_to_artifact_dir 0
1155 shell: bash
1156 - name: 'validate cache entry: gh-release-download'
1157 run: flowey e 12 flowey_lib_common::cache 3
1158 shell: bash
1159 - name: 🌼📦 Publish x64-openhcl-igvm
1160 uses: actions/upload-artifact@v7
1161 with:
1162 name: x64-openhcl-igvm
1163 path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/
1164 include-hidden-files: true
1165 - name: 🌼📦 Publish x64-openhcl-igvm-extras
1166 uses: actions/upload-artifact@v7
1167 with:
1168 name: x64-openhcl-igvm-extras
1169 path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/
1170 include-hidden-files: true
1171 job13:
1172 name: verify openhcl binary size [x64]
1173 runs-on: ubuntu-latest
1174 permissions:
1175 contents: read
1176 id-token: write
1177 needs:
1178 - job0
1179 if: github.event.pull_request.draft == false
1180 steps:
1181 - name: 🌼📦 Download artifacts
1182 uses: actions/download-artifact@v8
1183 with:
1184 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
1185 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
1186 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
1187 shell: bash
1188 name: 🌼📦 Add flowey to PATH
1189 - name: 🌼🛫 Initialize job
1190 run: |
1191 AgentTempDirNormal="${{ runner.temp }}"
1192 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1193 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
1194
1195 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
1196
1197 echo '"debug"' | flowey v 13 'FLOWEY_LOG' update
1198 echo "${{ runner.temp }}/work" | flowey v 13 '_internal_WORKING_DIR' --is-raw-string update
1199
1200 cat <<'EOF' | flowey v 13 'verbose' update
1201 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
1202 EOF
1203 shell: bash
1204 - name: add default cargo home to path
1205 run: flowey e 13 flowey_lib_common::install_rust 0
1206 shell: bash
1207 - name: install Rust
1208 run: flowey e 13 flowey_lib_common::install_rust 1
1209 shell: bash
1210 - name: detect active toolchain
1211 run: |-
1212 flowey e 13 flowey_lib_common::install_rust 2
1213 flowey e 13 flowey_lib_common::cfg_cargo_common_flags 0
1214 shell: bash
1215 - name: check if openvmm needs to be cloned
1216 run: |-
1217 flowey e 13 flowey_lib_common::git_checkout 0
1218 flowey v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar2
1219 flowey v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
1220 shell: bash
1221 - id: flowey_lib_common__git_checkout__1
1222 uses: actions/checkout@v6
1223 with:
1224 fetch-depth: '1'
1225 path: repo0
1226 persist-credentials: ${{ env.floweyvar2 }}
1227 name: checkout repo openvmm
1228 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1229 - name: report cloned repo directories
1230 run: |-
1231 flowey v 13 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
1232 ${{ github.workspace }}
1233 EOF
1234 flowey e 13 flowey_lib_common::git_checkout 3
1235 flowey e 13 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1236 flowey e 13 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1237 shell: bash
1238 - name: create gh-release-download cache dir
1239 run: flowey e 13 flowey_lib_common::download_gh_release 0
1240 shell: bash
1241 - name: Pre-processing cache vars
1242 run: |-
1243 flowey e 13 flowey_lib_common::cache 4
1244 flowey v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar5
1245 flowey v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar6
1246 shell: bash
1247 - id: flowey_lib_common__cache__5
1248 uses: actions/cache@v5
1249 with:
1250 key: ${{ env.floweyvar5 }}
1251 path: ${{ env.floweyvar6 }}
1252 name: 'Restore cache: gh-release-download'
1253 - name: download artifacts from github releases
1254 run: |-
1255 flowey v 13 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
1256 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
1257 EOF
1258 flowey e 13 flowey_lib_common::cache 6
1259 flowey e 13 flowey_lib_common::download_gh_release 1
1260 shell: bash
1261 - name: unpack openvmm-deps archive
1262 run: flowey e 13 flowey_lib_hvlite::resolve_openvmm_deps 0
1263 shell: bash
1264 - name: extract X86_64 sysroot.tar.gz
1265 run: flowey e 13 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
1266 shell: bash
1267 - name: set '-Dwarnings' in .cargo/config.toml
1268 run: flowey e 13 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1269 shell: bash
1270 - name: checking if packages need to be installed
1271 run: flowey e 13 flowey_lib_common::install_dist_pkg 0
1272 shell: bash
1273 - name: installing packages
1274 run: flowey e 13 flowey_lib_common::install_dist_pkg 1
1275 shell: bash
1276 - name: unpack protoc
1277 run: flowey e 13 flowey_lib_common::resolve_protoc 0
1278 shell: bash
1279 - name: symlink protoc
1280 run: |-
1281 flowey e 13 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1282 flowey e 13 flowey_lib_hvlite::init_cross_build 1
1283 shell: bash
1284 - name: cargo build openvmm_hcl
1285 run: |-
1286 flowey e 13 flowey_lib_common::run_cargo_build 0
1287 flowey e 13 flowey_lib_hvlite::run_cargo_build 0
1288 shell: bash
1289 - name: split debug symbols
1290 run: |-
1291 flowey e 13 flowey_lib_hvlite::run_split_debug_info 1
1292 flowey e 13 flowey_lib_hvlite::run_cargo_build 1
1293 flowey e 13 flowey_lib_hvlite::build_openvmm_hcl 0
1294 shell: bash
1295 - name: collect openvmm_hcl files for analysis
1296 run: |-
1297 flowey e 13 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 1
1298 flowey v 13 'flowey_lib_hvlite::_jobs::check_openvmm_hcl_size:8:flowey_lib_hvlite/src/_jobs/check_openvmm_hcl_size.rs:119:27' --is-raw-string write-to-env github floweyvar1
1299 shell: bash
1300 - id: flowey_lib_hvlite___jobs__check_openvmm_hcl_size__2
1301 uses: actions/upload-artifact@v7
1302 with:
1303 name: x86_64_openvmm_hcl_for_size_analysis
1304 path: ${{ env.floweyvar1 }}
1305 name: publish openvmm_hcl for analysis
1306 - name: cargo build xtask
1307 run: |-
1308 flowey e 13 flowey_lib_hvlite::init_cross_build 0
1309 flowey e 13 flowey_lib_common::run_cargo_build 1
1310 flowey e 13 flowey_lib_hvlite::run_cargo_build 2
1311 shell: bash
1312 - name: split debug symbols
1313 run: |-
1314 flowey e 13 flowey_lib_hvlite::run_split_debug_info 0
1315 flowey e 13 flowey_lib_hvlite::run_cargo_build 3
1316 flowey e 13 flowey_lib_hvlite::build_xtask 0
1317 shell: bash
1318 - name: create gh cache dir
1319 run: flowey e 13 flowey_lib_common::download_gh_cli 0
1320 shell: bash
1321 - name: Pre-processing cache vars
1322 run: |-
1323 flowey e 13 flowey_lib_common::cache 0
1324 flowey v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar3
1325 flowey v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar4
1326 shell: bash
1327 - id: flowey_lib_common__cache__1
1328 uses: actions/cache@v5
1329 with:
1330 key: ${{ env.floweyvar3 }}
1331 path: ${{ env.floweyvar4 }}
1332 name: 'Restore cache: gh-cli'
1333 - name: installing gh
1334 run: |-
1335 flowey v 13 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
1336 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
1337 EOF
1338 flowey e 13 flowey_lib_common::cache 2
1339 flowey e 13 flowey_lib_common::download_gh_cli 1
1340 flowey v 13 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
1341 ${{ github.token }}
1342 EOF
1343 shell: bash
1344 - name: setup gh cli
1345 run: flowey e 13 flowey_lib_common::use_gh_cli 0
1346 shell: bash
1347 - name: get merge commit
1348 run: flowey e 13 flowey_lib_common::git_merge_commit 0
1349 shell: bash
1350 - name: get action id by commit
1351 run: |-
1352 flowey e 13 flowey_lib_common::gh_workflow_id 0
1353 flowey e 13 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 0
1354 shell: bash
1355 - name: download artifacts from github actions run
1356 run: flowey e 13 flowey_lib_common::download_gh_artifact 0
1357 shell: bash
1358 - name: binary size comparison
1359 run: flowey e 13 flowey_lib_hvlite::_jobs::check_openvmm_hcl_size 3
1360 shell: bash
1361 - name: 'validate cache entry: gh-cli'
1362 run: flowey e 13 flowey_lib_common::cache 3
1363 shell: bash
1364 - name: 'validate cache entry: gh-release-download'
1365 run: flowey e 13 flowey_lib_common::cache 7
1366 shell: bash
1367 job14:
1368 name: build openhcl (mi-secure) [x64-linux]
1369 runs-on:
1370 - self-hosted
1371 - 1ES.Pool=openvmm-gh-amd-westus3
1372 - 1ES.ImageOverride=ubuntu2404-amd64
1373 - JobId=job14-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
1374 permissions:
1375 contents: read
1376 id-token: write
1377 needs:
1378 - job0
1379 if: github.event.pull_request.draft == false
1380 steps:
1381 - name: 🌼📦 Download artifacts
1382 uses: actions/download-artifact@v8
1383 with:
1384 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
1385 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
1386 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
1387 shell: bash
1388 name: 🌼📦 Add flowey to PATH
1389 - name: 🌼🛫 Initialize job
1390 run: |
1391 AgentTempDirNormal="${{ runner.temp }}"
1392 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1393 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
1394
1395 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
1396
1397 echo '"debug"' | flowey v 14 'FLOWEY_LOG' update
1398 echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update
1399
1400 cat <<'EOF' | flowey v 14 'verbose' update
1401 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
1402 EOF
1403 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm"
1404 echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm" | flowey v 14 'artifact_publish_from_x64-mi-secure-openhcl-igvm' --is-raw-string update
1405 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-extras"
1406 echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-extras" | flowey v 14 'artifact_publish_from_x64-mi-secure-openhcl-igvm-extras' --is-raw-string update
1407 shell: bash
1408 - name: create gh-release-download cache dir
1409 run: flowey e 14 flowey_lib_common::download_gh_release 0
1410 shell: bash
1411 - name: Pre-processing cache vars
1412 run: |-
1413 flowey e 14 flowey_lib_common::cache 0
1414 flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1
1415 flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2
1416 shell: bash
1417 - id: flowey_lib_common__cache__1
1418 uses: actions/cache@v5
1419 with:
1420 key: ${{ env.floweyvar1 }}
1421 path: ${{ env.floweyvar2 }}
1422 name: 'Restore cache: gh-release-download'
1423 - name: download artifacts from github releases
1424 run: |-
1425 flowey v 14 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
1426 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
1427 EOF
1428 flowey e 14 flowey_lib_common::cache 2
1429 flowey e 14 flowey_lib_common::download_gh_release 1
1430 shell: bash
1431 - name: unpack openvmm-test-linux archives
1432 run: flowey e 14 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
1433 shell: bash
1434 - name: unpack openvmm-test-initrd archives
1435 run: flowey e 14 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
1436 shell: bash
1437 - name: add default cargo home to path
1438 run: flowey e 14 flowey_lib_common::install_rust 0
1439 shell: bash
1440 - name: install Rust
1441 run: flowey e 14 flowey_lib_common::install_rust 1
1442 shell: bash
1443 - name: detect active toolchain
1444 run: |-
1445 flowey e 14 flowey_lib_common::install_rust 2
1446 flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0
1447 shell: bash
1448 - name: check if openvmm needs to be cloned
1449 run: |-
1450 flowey e 14 flowey_lib_common::git_checkout 0
1451 flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
1452 flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
1453 shell: bash
1454 - id: flowey_lib_common__git_checkout__1
1455 uses: actions/checkout@v6
1456 with:
1457 fetch-depth: '1'
1458 path: repo0
1459 persist-credentials: ${{ env.floweyvar3 }}
1460 name: checkout repo openvmm
1461 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1462 - name: report cloned repo directories
1463 run: |-
1464 flowey v 14 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
1465 ${{ github.workspace }}
1466 EOF
1467 flowey e 14 flowey_lib_common::git_checkout 3
1468 flowey e 14 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1469 shell: bash
1470 - name: set '-Dwarnings' in .cargo/config.toml
1471 run: flowey e 14 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1472 shell: bash
1473 - name: checking if packages need to be installed
1474 run: flowey e 14 flowey_lib_common::install_dist_pkg 0
1475 shell: bash
1476 - name: installing packages
1477 run: flowey e 14 flowey_lib_common::install_dist_pkg 1
1478 shell: bash
1479 - name: unpack protoc
1480 run: |-
1481 flowey e 14 flowey_lib_common::resolve_protoc 0
1482 flowey e 14 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1483 shell: bash
1484 - name: symlink protoc
1485 run: |-
1486 flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1487 flowey e 14 flowey_lib_hvlite::init_cross_build 0
1488 flowey e 14 flowey_lib_hvlite::run_cargo_build 7
1489 flowey e 14 flowey_lib_hvlite::run_cargo_build 8
1490 shell: bash
1491 - name: cargo build sidecar
1492 run: |-
1493 flowey e 14 flowey_lib_common::run_cargo_build 3
1494 flowey e 14 flowey_lib_hvlite::run_cargo_build 9
1495 shell: bash
1496 - name: split debug symbols
1497 run: |-
1498 flowey e 14 flowey_lib_hvlite::run_split_debug_info 4
1499 flowey e 14 flowey_lib_hvlite::run_cargo_build 10
1500 flowey e 14 flowey_lib_hvlite::build_sidecar 0
1501 flowey e 14 flowey_lib_hvlite::init_cross_build 1
1502 flowey e 14 flowey_lib_hvlite::run_cargo_build 2
1503 flowey e 14 flowey_lib_hvlite::run_cargo_build 3
1504 shell: bash
1505 - name: cargo build openhcl_boot
1506 run: |-
1507 flowey e 14 flowey_lib_common::run_cargo_build 1
1508 flowey e 14 flowey_lib_hvlite::run_cargo_build 4
1509 shell: bash
1510 - name: split debug symbols
1511 run: |-
1512 flowey e 14 flowey_lib_hvlite::run_split_debug_info 3
1513 flowey e 14 flowey_lib_hvlite::run_cargo_build 5
1514 flowey e 14 flowey_lib_hvlite::build_openhcl_boot 0
1515 shell: bash
1516 - name: extract and resolve kernel package
1517 run: |-
1518 flowey e 14 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
1519 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28
1520 shell: bash
1521 - name: unpack openvmm-deps archive
1522 run: flowey e 14 flowey_lib_hvlite::resolve_openvmm_deps 0
1523 shell: bash
1524 - name: extract X86_64 sysroot.tar.gz
1525 run: |-
1526 flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
1527 flowey e 14 flowey_lib_hvlite::init_cross_build 3
1528 shell: bash
1529 - name: cargo build openvmm_hcl
1530 run: |-
1531 flowey e 14 flowey_lib_common::run_cargo_build 2
1532 flowey e 14 flowey_lib_hvlite::run_cargo_build 6
1533 flowey e 14 flowey_lib_hvlite::build_openvmm_hcl 0
1534 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24
1535 shell: bash
1536 - name: split debug symbols
1537 run: |-
1538 flowey e 14 flowey_lib_hvlite::run_split_debug_info 2
1539 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25
1540 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26
1541 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29
1542 shell: bash
1543 - name: building openhcl initrd
1544 run: |-
1545 flowey e 14 flowey_lib_hvlite::build_openhcl_initrd 2
1546 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30
1547 flowey e 14 flowey_lib_hvlite::init_cross_build 2
1548 shell: bash
1549 - name: cargo build igvmfilegen
1550 run: |-
1551 flowey e 14 flowey_lib_common::run_cargo_build 0
1552 flowey e 14 flowey_lib_hvlite::run_cargo_build 0
1553 shell: bash
1554 - name: split debug symbols
1555 run: |-
1556 flowey e 14 flowey_lib_hvlite::run_split_debug_info 5
1557 flowey e 14 flowey_lib_hvlite::run_cargo_build 1
1558 flowey e 14 flowey_lib_hvlite::build_igvmfilegen 0
1559 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31
1560 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32
1561 shell: bash
1562 - name: building igvm file
1563 run: |-
1564 flowey e 14 flowey_lib_hvlite::run_igvmfilegen 2
1565 flowey e 14 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
1566 shell: bash
1567 - name: unpack mu_msvm package (x64)
1568 run: flowey e 14 flowey_lib_hvlite::download_uefi_mu_msvm 0
1569 shell: bash
1570 - name: extract and resolve kernel package
1571 run: |-
1572 flowey e 14 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
1573 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
1574 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
1575 shell: bash
1576 - name: split debug symbols
1577 run: |-
1578 flowey e 14 flowey_lib_hvlite::run_split_debug_info 1
1579 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
1580 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
1581 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
1582 shell: bash
1583 - name: building openhcl initrd
1584 run: |-
1585 flowey e 14 flowey_lib_hvlite::build_openhcl_initrd 1
1586 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
1587 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
1588 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
1589 shell: bash
1590 - name: building igvm file
1591 run: |-
1592 flowey e 14 flowey_lib_hvlite::run_igvmfilegen 1
1593 flowey e 14 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4
1594 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
1595 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
1596 shell: bash
1597 - name: split debug symbols
1598 run: |-
1599 flowey e 14 flowey_lib_hvlite::run_split_debug_info 0
1600 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
1601 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
1602 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
1603 shell: bash
1604 - name: building openhcl initrd
1605 run: |-
1606 flowey e 14 flowey_lib_hvlite::build_openhcl_initrd 0
1607 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
1608 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
1609 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
1610 shell: bash
1611 - name: building igvm file
1612 run: |-
1613 flowey e 14 flowey_lib_hvlite::run_igvmfilegen 0
1614 flowey e 14 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
1615 flowey e 14 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
1616 shell: bash
1617 - name: copying OpenHCL igvm files to artifact dir
1618 run: |-
1619 flowey e 14 flowey_lib_common::copy_to_artifact_dir 1
1620 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22
1621 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27
1622 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23
1623 flowey e 14 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
1624 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
1625 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
1626 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
1627 flowey e 14 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5
1628 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
1629 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
1630 flowey e 14 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
1631 flowey e 14 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
1632 flowey e 14 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
1633 shell: bash
1634 - name: copying OpenHCL igvm extras to artifact dir
1635 run: flowey e 14 flowey_lib_common::copy_to_artifact_dir 0
1636 shell: bash
1637 - name: 'validate cache entry: gh-release-download'
1638 run: flowey e 14 flowey_lib_common::cache 3
1639 shell: bash
1640 - name: 🌼📦 Publish x64-mi-secure-openhcl-igvm
1641 uses: actions/upload-artifact@v7
1642 with:
1643 name: x64-mi-secure-openhcl-igvm
1644 path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm/
1645 include-hidden-files: true
1646 - name: 🌼📦 Publish x64-mi-secure-openhcl-igvm-extras
1647 uses: actions/upload-artifact@v7
1648 with:
1649 name: x64-mi-secure-openhcl-igvm-extras
1650 path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm-extras/
1651 include-hidden-files: true
1652 job15:
1653 name: clippy [x64-windows], unit tests [x64-windows]
1654 runs-on:
1655 - self-hosted
1656 - 1ES.Pool=openvmm-gh-amd-westus3
1657 - 1ES.ImageOverride=win-amd64
1658 - JobId=job15-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
1659 permissions:
1660 contents: read
1661 id-token: write
1662 needs:
1663 - job0
1664 if: github.event.pull_request.draft == false
1665 steps:
1666 - run: |
1667 set -x
1668 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
1669 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
1670 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
1671 . "$HOME/.cargo/env"
1672 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
1673 rustup show
1674 if: runner.os == 'Linux'
1675 name: rustup (Linux)
1676 shell: bash
1677 - run: |
1678 set -x
1679 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
1680 ./rustup-init.exe -y --default-toolchain=1.95.0
1681 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
1682 if: runner.os == 'Windows' && runner.arch == 'X64'
1683 name: rustup (Windows X64)
1684 shell: bash
1685 - run: |
1686 set -x
1687 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
1688 ./rustup-init.exe -y --default-toolchain=1.95.0
1689 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
1690 if: runner.os == 'Windows' && runner.arch == 'ARM64'
1691 name: rustup (Windows ARM64)
1692 shell: bash
1693 - uses: actions/checkout@v6
1694 with:
1695 path: flowey_bootstrap
1696 - name: Build flowey
1697 run: |
1698 set -x
1699 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
1700 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1701 mkdir -p "$OutDirNormal"
1702 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
1703 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
1704 working-directory: flowey_bootstrap
1705 shell: bash
1706 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
1707 shell: bash
1708 name: 🌼📦 Add flowey to PATH
1709 - name: 🌼🔎 Self-check YAML
1710 run: |-
1711 ESCAPED_AGENT_TEMPDIR=$(
1712 cat <<'EOF' | sed 's/\\/\\\\/g'
1713 ${{ runner.temp }}
1714 EOF
1715 )
1716 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
1717 shell: bash
1718 - name: 🌼🛫 Initialize job
1719 run: |
1720 AgentTempDirNormal="${{ runner.temp }}"
1721 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1722 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
1723
1724 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
1725
1726 echo '"debug"' | flowey.exe v 15 'FLOWEY_LOG' update
1727 echo "${{ runner.temp }}/work" | flowey.exe v 15 '_internal_WORKING_DIR' --is-raw-string update
1728
1729 cat <<'EOF' | flowey.exe v 15 'verbose' update
1730 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
1731 EOF
1732 shell: bash
1733 - name: add default cargo home to path
1734 run: flowey.exe e 15 flowey_lib_common::install_rust 0
1735 shell: bash
1736 - name: install Rust
1737 run: flowey.exe e 15 flowey_lib_common::install_rust 1
1738 shell: bash
1739 - name: detect active toolchain
1740 run: |-
1741 flowey.exe e 15 flowey_lib_common::install_rust 2
1742 flowey.exe e 15 flowey_lib_common::cfg_cargo_common_flags 0
1743 shell: bash
1744 - name: check if openvmm needs to be cloned
1745 run: |-
1746 flowey.exe e 15 flowey_lib_common::git_checkout 0
1747 flowey.exe v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar8
1748 flowey.exe v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
1749 shell: bash
1750 - id: flowey_lib_common__git_checkout__1
1751 uses: actions/checkout@v6
1752 with:
1753 fetch-depth: '1'
1754 path: repo0
1755 persist-credentials: ${{ env.floweyvar8 }}
1756 name: checkout repo openvmm
1757 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1758 - name: report cloned repo directories
1759 run: |-
1760 flowey.exe v 15 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
1761 ${{ github.workspace }}
1762 EOF
1763 flowey.exe e 15 flowey_lib_common::git_checkout 3
1764 flowey.exe e 15 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1765 shell: bash
1766 - name: set '-Dwarnings' in .cargo/config.toml
1767 run: flowey.exe e 15 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1768 shell: bash
1769 - name: create gh-release-download cache dir
1770 run: flowey.exe e 15 flowey_lib_common::download_gh_release 0
1771 shell: bash
1772 - name: Pre-processing cache vars
1773 run: |-
1774 flowey.exe e 15 flowey_lib_common::cache 4
1775 flowey.exe v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
1776 flowey.exe v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
1777 shell: bash
1778 - id: flowey_lib_common__cache__5
1779 uses: actions/cache@v5
1780 with:
1781 key: ${{ env.floweyvar6 }}
1782 path: ${{ env.floweyvar7 }}
1783 name: 'Restore cache: gh-release-download'
1784 - name: download artifacts from github releases
1785 run: |-
1786 flowey.exe v 15 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
1787 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
1788 EOF
1789 flowey.exe e 15 flowey_lib_common::cache 6
1790 flowey.exe e 15 flowey_lib_common::download_gh_release 1
1791 shell: bash
1792 - name: unpack protoc
1793 run: |-
1794 flowey.exe e 15 flowey_lib_common::resolve_protoc 0
1795 flowey.exe e 15 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1796 shell: bash
1797 - name: symlink protoc
1798 run: |-
1799 flowey.exe e 15 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1800 flowey.exe e 15 flowey_lib_hvlite::init_cross_build 0
1801 flowey.exe e 15 flowey_lib_hvlite::init_cross_build 2
1802 shell: bash
1803 - name: cargo build xtask
1804 run: |-
1805 flowey.exe e 15 flowey_lib_common::run_cargo_build 0
1806 flowey.exe e 15 flowey_lib_hvlite::run_cargo_build 0
1807 flowey.exe e 15 flowey_lib_hvlite::build_xtask 0
1808 shell: bash
1809 - name: determine clippy exclusions
1810 run: flowey.exe e 15 flowey_lib_hvlite::_jobs::check_clippy 0
1811 shell: bash
1812 - name: cargo clippy
1813 run: flowey.exe e 15 flowey_lib_common::run_cargo_clippy 0
1814 shell: bash
1815 - name: cargo clippy
1816 run: flowey.exe e 15 flowey_lib_common::run_cargo_clippy 1
1817 shell: bash
1818 - name: cargo clippy
1819 run: flowey.exe e 15 flowey_lib_common::run_cargo_clippy 2
1820 shell: bash
1821 - name: create cargo-nextest cache dir
1822 run: |-
1823 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 0
1824 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 1
1825 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2
1826 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 3
1827 shell: bash
1828 - name: Pre-processing cache vars
1829 run: |-
1830 flowey.exe e 15 flowey_lib_common::cache 0
1831 flowey.exe v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
1832 flowey.exe v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
1833 shell: bash
1834 - id: flowey_lib_common__cache__1
1835 uses: actions/cache@v5
1836 with:
1837 key: ${{ env.floweyvar4 }}
1838 path: ${{ env.floweyvar5 }}
1839 name: 'Restore cache: cargo-nextest'
1840 - name: downloading cargo-nextest
1841 run: |-
1842 flowey.exe v 15 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
1843 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
1844 EOF
1845 flowey.exe e 15 flowey_lib_common::cache 2
1846 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 4
1847 shell: bash
1848 - name: report $CARGO_HOME
1849 run: flowey.exe e 15 flowey_lib_common::install_rust 3
1850 shell: bash
1851 - name: installing cargo-nextest
1852 run: |-
1853 flowey.exe e 15 flowey_lib_common::install_cargo_nextest 0
1854 flowey.exe e 15 flowey_lib_hvlite::init_cross_build 1
1855 flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 0
1856 shell: bash
1857 - name: generate nextest command
1858 run: flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1
1859 shell: bash
1860 - name: run 'unit-tests crypto (rust)' nextest tests
1861 run: |-
1862 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 2
1863 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 3
1864 flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 3
1865 flowey.exe e 15 flowey_lib_common::publish_test_results 5
1866 flowey.exe e 15 flowey_lib_common::publish_test_results 6
1867 flowey.exe e 15 flowey_lib_common::publish_test_results 4
1868 flowey.exe v 15 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar2
1869 flowey.exe v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
1870 shell: bash
1871 - id: flowey_lib_common__publish_test_results__7
1872 uses: actions/upload-artifact@v7
1873 with:
1874 name: x64-windows-unit-tests-unit-tests crypto (rust)-junit-xml
1875 path: ${{ env.floweyvar2 }}
1876 name: 'publish test results: x64-windows-unit-tests-unit-tests crypto (rust) (JUnit XML)'
1877 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1878 - name: cargo build xtask
1879 run: |-
1880 flowey.exe e 15 flowey_lib_hvlite::init_cross_build 3
1881 flowey.exe e 15 flowey_lib_common::run_cargo_build 1
1882 flowey.exe e 15 flowey_lib_hvlite::run_cargo_build 1
1883 flowey.exe e 15 flowey_lib_hvlite::build_xtask 1
1884 shell: bash
1885 - name: determine unit test exclusions
1886 run: flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 0
1887 shell: bash
1888 - name: generate nextest command
1889 run: flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2
1890 shell: bash
1891 - name: run 'unit-tests' nextest tests
1892 run: |-
1893 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 4
1894 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 5
1895 flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 1
1896 flowey.exe e 15 flowey_lib_common::publish_test_results 8
1897 flowey.exe e 15 flowey_lib_common::publish_test_results 9
1898 flowey.exe e 15 flowey_lib_common::publish_test_results 10
1899 flowey.exe v 15 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3
1900 flowey.exe v 15 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
1901 shell: bash
1902 - id: flowey_lib_common__publish_test_results__11
1903 uses: actions/upload-artifact@v7
1904 with:
1905 name: x64-windows-unit-tests-unit-tests-junit-xml
1906 path: ${{ env.floweyvar3 }}
1907 name: 'publish test results: x64-windows-unit-tests-unit-tests (JUnit XML)'
1908 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1909 - name: generate nextest command
1910 run: flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0
1911 shell: bash
1912 - name: run 'unit-tests crypto (native)' nextest tests
1913 run: |-
1914 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 0
1915 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 1
1916 flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 2
1917 flowey.exe e 15 flowey_lib_common::publish_test_results 0
1918 flowey.exe e 15 flowey_lib_common::publish_test_results 1
1919 flowey.exe e 15 flowey_lib_common::publish_test_results 2
1920 flowey.exe v 15 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
1921 flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
1922 shell: bash
1923 - id: flowey_lib_common__publish_test_results__3
1924 uses: actions/upload-artifact@v7
1925 with:
1926 name: x64-windows-unit-tests-unit-tests crypto (native)-junit-xml
1927 path: ${{ env.floweyvar1 }}
1928 name: 'publish test results: x64-windows-unit-tests-unit-tests crypto (native) (JUnit XML)'
1929 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1930 - name: report test results to overall pipeline status
1931 run: |-
1932 flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 4
1933 flowey.exe e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
1934 shell: bash
1935 - name: run doctests for x86_64-pc-windows-msvc
1936 run: flowey.exe e 15 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
1937 shell: bash
1938 - name: 'validate cache entry: cargo-nextest'
1939 run: flowey.exe e 15 flowey_lib_common::cache 3
1940 shell: bash
1941 - name: 'validate cache entry: gh-release-download'
1942 run: flowey.exe e 15 flowey_lib_common::cache 7
1943 shell: bash
1944 job16:
1945 name: clippy [macos], unit tests [x64-linux]
1946 runs-on:
1947 - self-hosted
1948 - 1ES.Pool=openvmm-gh-amd-westus3
1949 - 1ES.ImageOverride=ubuntu2404-amd64
1950 - JobId=job16-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
1951 permissions:
1952 contents: read
1953 id-token: write
1954 needs:
1955 - job0
1956 if: github.event.pull_request.draft == false
1957 steps:
1958 - name: 🌼📦 Download artifacts
1959 uses: actions/download-artifact@v8
1960 with:
1961 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
1962 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
1963 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
1964 shell: bash
1965 name: 🌼📦 Add flowey to PATH
1966 - name: 🌼🛫 Initialize job
1967 run: |
1968 AgentTempDirNormal="${{ runner.temp }}"
1969 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1970 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
1971
1972 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
1973
1974 echo '"debug"' | flowey v 16 'FLOWEY_LOG' update
1975 echo "${{ runner.temp }}/work" | flowey v 16 '_internal_WORKING_DIR' --is-raw-string update
1976
1977 cat <<'EOF' | flowey v 16 'verbose' update
1978 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
1979 EOF
1980 shell: bash
1981 - name: add default cargo home to path
1982 run: flowey e 16 flowey_lib_common::install_rust 0
1983 shell: bash
1984 - name: install Rust
1985 run: flowey e 16 flowey_lib_common::install_rust 1
1986 shell: bash
1987 - name: detect active toolchain
1988 run: |-
1989 flowey e 16 flowey_lib_common::install_rust 2
1990 flowey e 16 flowey_lib_common::cfg_cargo_common_flags 0
1991 shell: bash
1992 - name: checking if packages need to be installed
1993 run: flowey e 16 flowey_lib_common::install_dist_pkg 0
1994 shell: bash
1995 - name: installing packages
1996 run: flowey e 16 flowey_lib_common::install_dist_pkg 1
1997 shell: bash
1998 - name: check if openvmm needs to be cloned
1999 run: |-
2000 flowey e 16 flowey_lib_common::git_checkout 0
2001 flowey v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10
2002 flowey v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
2003 shell: bash
2004 - id: flowey_lib_common__git_checkout__1
2005 uses: actions/checkout@v6
2006 with:
2007 fetch-depth: '1'
2008 path: repo0
2009 persist-credentials: ${{ env.floweyvar10 }}
2010 name: checkout repo openvmm
2011 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2012 - name: report cloned repo directories
2013 run: |-
2014 flowey v 16 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
2015 ${{ github.workspace }}
2016 EOF
2017 flowey e 16 flowey_lib_common::git_checkout 3
2018 flowey e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2019 shell: bash
2020 - name: set '-Dwarnings' in .cargo/config.toml
2021 run: flowey e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
2022 shell: bash
2023 - name: create gh-release-download cache dir
2024 run: flowey e 16 flowey_lib_common::download_gh_release 0
2025 shell: bash
2026 - name: Pre-processing cache vars
2027 run: |-
2028 flowey e 16 flowey_lib_common::cache 4
2029 flowey v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
2030 flowey v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
2031 shell: bash
2032 - id: flowey_lib_common__cache__5
2033 uses: actions/cache@v5
2034 with:
2035 key: ${{ env.floweyvar8 }}
2036 path: ${{ env.floweyvar9 }}
2037 name: 'Restore cache: gh-release-download'
2038 - name: download artifacts from github releases
2039 run: |-
2040 flowey v 16 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
2041 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
2042 EOF
2043 flowey e 16 flowey_lib_common::cache 6
2044 flowey e 16 flowey_lib_common::download_gh_release 1
2045 shell: bash
2046 - name: unpack protoc
2047 run: |-
2048 flowey e 16 flowey_lib_common::resolve_protoc 0
2049 flowey e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0
2050 shell: bash
2051 - name: symlink protoc
2052 run: |-
2053 flowey e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
2054 flowey e 16 flowey_lib_hvlite::init_cross_build 1
2055 shell: bash
2056 - name: cargo build xtask
2057 run: |-
2058 flowey e 16 flowey_lib_common::run_cargo_build 0
2059 flowey e 16 flowey_lib_hvlite::run_cargo_build 0
2060 shell: bash
2061 - name: split debug symbols
2062 run: |-
2063 flowey e 16 flowey_lib_hvlite::run_split_debug_info 1
2064 flowey e 16 flowey_lib_hvlite::run_cargo_build 1
2065 flowey e 16 flowey_lib_hvlite::build_xtask 0
2066 shell: bash
2067 - name: determine clippy exclusions
2068 run: flowey e 16 flowey_lib_hvlite::_jobs::check_clippy 0
2069 shell: bash
2070 - name: cargo clippy
2071 run: flowey e 16 flowey_lib_common::run_cargo_clippy 0
2072 shell: bash
2073 - name: cargo clippy
2074 run: flowey e 16 flowey_lib_common::run_cargo_clippy 1
2075 shell: bash
2076 - name: cargo clippy
2077 run: flowey e 16 flowey_lib_common::run_cargo_clippy 2
2078 shell: bash
2079 - name: create cargo-nextest cache dir
2080 run: |-
2081 flowey e 16 flowey_lib_common::download_cargo_nextest 0
2082 flowey e 16 flowey_lib_common::download_cargo_nextest 1
2083 flowey e 16 flowey_lib_common::download_cargo_nextest 2
2084 flowey e 16 flowey_lib_common::download_cargo_nextest 3
2085 shell: bash
2086 - name: Pre-processing cache vars
2087 run: |-
2088 flowey e 16 flowey_lib_common::cache 0
2089 flowey v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
2090 flowey v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
2091 shell: bash
2092 - id: flowey_lib_common__cache__1
2093 uses: actions/cache@v5
2094 with:
2095 key: ${{ env.floweyvar6 }}
2096 path: ${{ env.floweyvar7 }}
2097 name: 'Restore cache: cargo-nextest'
2098 - name: downloading cargo-nextest
2099 run: |-
2100 flowey v 16 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
2101 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
2102 EOF
2103 flowey e 16 flowey_lib_common::cache 2
2104 flowey e 16 flowey_lib_common::download_cargo_nextest 4
2105 shell: bash
2106 - name: report $CARGO_HOME
2107 run: flowey e 16 flowey_lib_common::install_rust 3
2108 shell: bash
2109 - name: installing cargo-nextest
2110 run: |-
2111 flowey e 16 flowey_lib_common::install_cargo_nextest 0
2112 flowey e 16 flowey_lib_hvlite::init_cross_build 0
2113 flowey e 16 flowey_lib_hvlite::run_cargo_nextest_run 0
2114 shell: bash
2115 - name: generate nextest command
2116 run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1
2117 shell: bash
2118 - name: run 'unit-tests crypto (native)' nextest tests
2119 run: |-
2120 flowey e 16 flowey_lib_common::run_cargo_nextest_run 2
2121 flowey e 16 flowey_lib_common::run_cargo_nextest_run 3
2122 flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2
2123 flowey e 16 flowey_lib_common::publish_test_results 5
2124 flowey e 16 flowey_lib_common::publish_test_results 6
2125 flowey e 16 flowey_lib_common::publish_test_results 4
2126 flowey v 16 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar2
2127 flowey v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2128 shell: bash
2129 - id: flowey_lib_common__publish_test_results__7
2130 uses: actions/upload-artifact@v7
2131 with:
2132 name: x64-linux-unit-tests-unit-tests crypto (native)-junit-xml
2133 path: ${{ env.floweyvar2 }}
2134 name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (native) (JUnit XML)'
2135 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2136 - name: generate nextest command
2137 run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 3
2138 shell: bash
2139 - name: run 'unit-tests crypto (rust)' nextest tests
2140 run: |-
2141 flowey e 16 flowey_lib_common::run_cargo_nextest_run 6
2142 flowey e 16 flowey_lib_common::run_cargo_nextest_run 7
2143 flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3
2144 flowey e 16 flowey_lib_common::publish_test_results 8
2145 flowey e 16 flowey_lib_common::publish_test_results 9
2146 flowey e 16 flowey_lib_common::publish_test_results 10
2147 flowey v 16 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3
2148 flowey v 16 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2149 shell: bash
2150 - id: flowey_lib_common__publish_test_results__11
2151 uses: actions/upload-artifact@v7
2152 with:
2153 name: x64-linux-unit-tests-unit-tests crypto (rust)-junit-xml
2154 path: ${{ env.floweyvar3 }}
2155 name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (rust) (JUnit XML)'
2156 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2157 - name: generate nextest command
2158 run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 2
2159 shell: bash
2160 - name: run 'unit-tests crypto (openssl)' nextest tests
2161 run: |-
2162 flowey e 16 flowey_lib_common::run_cargo_nextest_run 4
2163 flowey e 16 flowey_lib_common::run_cargo_nextest_run 5
2164 flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4
2165 flowey e 16 flowey_lib_common::publish_test_results 12
2166 flowey e 16 flowey_lib_common::publish_test_results 13
2167 flowey e 16 flowey_lib_common::publish_test_results 14
2168 flowey v 16 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar4
2169 flowey v 16 'flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2170 shell: bash
2171 - id: flowey_lib_common__publish_test_results__15
2172 uses: actions/upload-artifact@v7
2173 with:
2174 name: x64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml
2175 path: ${{ env.floweyvar4 }}
2176 name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)'
2177 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2178 - name: generate nextest command
2179 run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0
2180 shell: bash
2181 - name: run 'unit-tests crypto (all)' nextest tests
2182 run: |-
2183 flowey e 16 flowey_lib_common::run_cargo_nextest_run 0
2184 flowey e 16 flowey_lib_common::run_cargo_nextest_run 1
2185 flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5
2186 flowey e 16 flowey_lib_common::publish_test_results 16
2187 flowey e 16 flowey_lib_common::publish_test_results 17
2188 flowey e 16 flowey_lib_common::publish_test_results 18
2189 flowey v 16 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5
2190 flowey v 16 'flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2191 shell: bash
2192 - id: flowey_lib_common__publish_test_results__19
2193 uses: actions/upload-artifact@v7
2194 with:
2195 name: x64-linux-unit-tests-unit-tests crypto (all)-junit-xml
2196 path: ${{ env.floweyvar5 }}
2197 name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)'
2198 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2199 - name: cargo build xtask
2200 run: |-
2201 flowey e 16 flowey_lib_hvlite::init_cross_build 2
2202 flowey e 16 flowey_lib_common::run_cargo_build 1
2203 flowey e 16 flowey_lib_hvlite::run_cargo_build 2
2204 shell: bash
2205 - name: split debug symbols
2206 run: |-
2207 flowey e 16 flowey_lib_hvlite::run_split_debug_info 0
2208 flowey e 16 flowey_lib_hvlite::run_cargo_build 3
2209 flowey e 16 flowey_lib_hvlite::build_xtask 1
2210 shell: bash
2211 - name: determine unit test exclusions
2212 run: flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 0
2213 shell: bash
2214 - name: generate nextest command
2215 run: flowey e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 4
2216 shell: bash
2217 - name: run 'unit-tests' nextest tests
2218 run: |-
2219 flowey e 16 flowey_lib_common::run_cargo_nextest_run 8
2220 flowey e 16 flowey_lib_common::run_cargo_nextest_run 9
2221 flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1
2222 flowey e 16 flowey_lib_common::publish_test_results 0
2223 flowey e 16 flowey_lib_common::publish_test_results 1
2224 flowey e 16 flowey_lib_common::publish_test_results 2
2225 flowey v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
2226 flowey v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2227 shell: bash
2228 - id: flowey_lib_common__publish_test_results__3
2229 uses: actions/upload-artifact@v7
2230 with:
2231 name: x64-linux-unit-tests-unit-tests-junit-xml
2232 path: ${{ env.floweyvar1 }}
2233 name: 'publish test results: x64-linux-unit-tests-unit-tests (JUnit XML)'
2234 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2235 - name: report test results to overall pipeline status
2236 run: |-
2237 flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 6
2238 flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
2239 shell: bash
2240 - name: run doctests for x86_64-unknown-linux-gnu
2241 run: flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
2242 shell: bash
2243 - name: 'validate cache entry: cargo-nextest'
2244 run: flowey e 16 flowey_lib_common::cache 3
2245 shell: bash
2246 - name: 'validate cache entry: gh-release-download'
2247 run: flowey e 16 flowey_lib_common::cache 7
2248 shell: bash
2249 job17:
2250 name: clippy [x64-linux-musl, misc nostd], unit tests [x64-linux-musl]
2251 runs-on:
2252 - self-hosted
2253 - 1ES.Pool=openvmm-gh-amd-westus3
2254 - 1ES.ImageOverride=ubuntu2404-amd64
2255 - JobId=job17-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
2256 permissions:
2257 contents: read
2258 id-token: write
2259 needs:
2260 - job0
2261 if: github.event.pull_request.draft == false
2262 steps:
2263 - name: 🌼📦 Download artifacts
2264 uses: actions/download-artifact@v8
2265 with:
2266 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
2267 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
2268 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
2269 shell: bash
2270 name: 🌼📦 Add flowey to PATH
2271 - name: 🌼🛫 Initialize job
2272 run: |
2273 AgentTempDirNormal="${{ runner.temp }}"
2274 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2275 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
2276
2277 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
2278
2279 echo '"debug"' | flowey v 17 'FLOWEY_LOG' update
2280 echo "${{ runner.temp }}/work" | flowey v 17 '_internal_WORKING_DIR' --is-raw-string update
2281
2282 cat <<'EOF' | flowey v 17 'verbose' update
2283 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
2284 EOF
2285 shell: bash
2286 - name: add default cargo home to path
2287 run: flowey e 17 flowey_lib_common::install_rust 0
2288 shell: bash
2289 - name: install Rust
2290 run: flowey e 17 flowey_lib_common::install_rust 1
2291 shell: bash
2292 - name: detect active toolchain
2293 run: |-
2294 flowey e 17 flowey_lib_common::install_rust 2
2295 flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0
2296 shell: bash
2297 - name: check if openvmm needs to be cloned
2298 run: |-
2299 flowey e 17 flowey_lib_common::git_checkout 0
2300 flowey v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar11
2301 flowey v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
2302 shell: bash
2303 - id: flowey_lib_common__git_checkout__1
2304 uses: actions/checkout@v6
2305 with:
2306 fetch-depth: '1'
2307 path: repo0
2308 persist-credentials: ${{ env.floweyvar11 }}
2309 name: checkout repo openvmm
2310 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2311 - name: report cloned repo directories
2312 run: |-
2313 flowey v 17 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
2314 ${{ github.workspace }}
2315 EOF
2316 flowey e 17 flowey_lib_common::git_checkout 3
2317 flowey e 17 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2318 flowey e 17 flowey_lib_hvlite::cfg_openvmm_magicpath 0
2319 shell: bash
2320 - name: create gh-release-download cache dir
2321 run: flowey e 17 flowey_lib_common::download_gh_release 0
2322 shell: bash
2323 - name: Pre-processing cache vars
2324 run: |-
2325 flowey e 17 flowey_lib_common::cache 4
2326 flowey v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9
2327 flowey v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10
2328 shell: bash
2329 - id: flowey_lib_common__cache__5
2330 uses: actions/cache@v5
2331 with:
2332 key: ${{ env.floweyvar9 }}
2333 path: ${{ env.floweyvar10 }}
2334 name: 'Restore cache: gh-release-download'
2335 - name: download artifacts from github releases
2336 run: |-
2337 flowey v 17 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
2338 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
2339 EOF
2340 flowey e 17 flowey_lib_common::cache 6
2341 flowey e 17 flowey_lib_common::download_gh_release 1
2342 shell: bash
2343 - name: unpack openvmm-deps archive
2344 run: flowey e 17 flowey_lib_hvlite::resolve_openvmm_deps 0
2345 shell: bash
2346 - name: extract X86_64 sysroot.tar.gz
2347 run: flowey e 17 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
2348 shell: bash
2349 - name: checking if packages need to be installed
2350 run: flowey e 17 flowey_lib_common::install_dist_pkg 0
2351 shell: bash
2352 - name: installing packages
2353 run: flowey e 17 flowey_lib_common::install_dist_pkg 1
2354 shell: bash
2355 - name: set '-Dwarnings' in .cargo/config.toml
2356 run: flowey e 17 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
2357 shell: bash
2358 - name: unpack protoc
2359 run: flowey e 17 flowey_lib_common::resolve_protoc 0
2360 shell: bash
2361 - name: symlink protoc
2362 run: |-
2363 flowey e 17 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
2364 flowey e 17 flowey_lib_hvlite::init_cross_build 2
2365 shell: bash
2366 - name: cargo clippy
2367 run: flowey e 17 flowey_lib_common::run_cargo_clippy 3
2368 shell: bash
2369 - name: cargo clippy
2370 run: flowey e 17 flowey_lib_common::run_cargo_clippy 5
2371 shell: bash
2372 - name: cargo clippy
2373 run: flowey e 17 flowey_lib_common::run_cargo_clippy 1
2374 shell: bash
2375 - name: cargo clippy
2376 run: flowey e 17 flowey_lib_common::run_cargo_clippy 7
2377 shell: bash
2378 - name: cargo clippy
2379 run: |-
2380 flowey e 17 flowey_lib_common::run_cargo_clippy 6
2381 flowey e 17 flowey_lib_hvlite::init_cross_build 0
2382 shell: bash
2383 - name: cargo build xtask
2384 run: |-
2385 flowey e 17 flowey_lib_common::run_cargo_build 0
2386 flowey e 17 flowey_lib_hvlite::run_cargo_build 0
2387 shell: bash
2388 - name: split debug symbols
2389 run: |-
2390 flowey e 17 flowey_lib_hvlite::run_split_debug_info 1
2391 flowey e 17 flowey_lib_hvlite::run_cargo_build 1
2392 flowey e 17 flowey_lib_hvlite::build_xtask 0
2393 shell: bash
2394 - name: determine clippy exclusions
2395 run: flowey e 17 flowey_lib_hvlite::_jobs::check_clippy 0
2396 shell: bash
2397 - name: cargo clippy
2398 run: flowey e 17 flowey_lib_common::run_cargo_clippy 0
2399 shell: bash
2400 - name: cargo clippy
2401 run: flowey e 17 flowey_lib_common::run_cargo_clippy 2
2402 shell: bash
2403 - name: cargo clippy
2404 run: flowey e 17 flowey_lib_common::run_cargo_clippy 4
2405 shell: bash
2406 - name: create cargo-nextest cache dir
2407 run: |-
2408 flowey e 17 flowey_lib_common::download_cargo_nextest 0
2409 flowey e 17 flowey_lib_common::download_cargo_nextest 1
2410 flowey e 17 flowey_lib_common::download_cargo_nextest 2
2411 flowey e 17 flowey_lib_common::download_cargo_nextest 3
2412 shell: bash
2413 - name: Pre-processing cache vars
2414 run: |-
2415 flowey e 17 flowey_lib_common::cache 0
2416 flowey v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7
2417 flowey v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8
2418 shell: bash
2419 - id: flowey_lib_common__cache__1
2420 uses: actions/cache@v5
2421 with:
2422 key: ${{ env.floweyvar7 }}
2423 path: ${{ env.floweyvar8 }}
2424 name: 'Restore cache: cargo-nextest'
2425 - name: downloading cargo-nextest
2426 run: |-
2427 flowey v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
2428 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
2429 EOF
2430 flowey e 17 flowey_lib_common::cache 2
2431 flowey e 17 flowey_lib_common::download_cargo_nextest 4
2432 shell: bash
2433 - name: report $CARGO_HOME
2434 run: flowey e 17 flowey_lib_common::install_rust 3
2435 shell: bash
2436 - name: installing cargo-nextest
2437 run: |-
2438 flowey e 17 flowey_lib_common::install_cargo_nextest 0
2439 flowey e 17 flowey_lib_hvlite::init_cross_build 3
2440 flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 0
2441 shell: bash
2442 - name: generate nextest command
2443 run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 1
2444 shell: bash
2445 - name: run 'unit-tests crypto (native)' nextest tests
2446 run: |-
2447 flowey e 17 flowey_lib_common::run_cargo_nextest_run 2
2448 flowey e 17 flowey_lib_common::run_cargo_nextest_run 3
2449 flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 2
2450 flowey e 17 flowey_lib_common::publish_test_results 5
2451 flowey e 17 flowey_lib_common::publish_test_results 6
2452 flowey e 17 flowey_lib_common::publish_test_results 4
2453 flowey v 17 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar2
2454 flowey v 17 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2455 shell: bash
2456 - id: flowey_lib_common__publish_test_results__7
2457 uses: actions/upload-artifact@v7
2458 with:
2459 name: x64-linux-musl-unit-tests-unit-tests crypto (native)-junit-xml
2460 path: ${{ env.floweyvar2 }}
2461 name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (native) (JUnit XML)'
2462 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2463 - name: generate nextest command
2464 run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 3
2465 shell: bash
2466 - name: run 'unit-tests crypto (rust)' nextest tests
2467 run: |-
2468 flowey e 17 flowey_lib_common::run_cargo_nextest_run 6
2469 flowey e 17 flowey_lib_common::run_cargo_nextest_run 7
2470 flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 3
2471 flowey e 17 flowey_lib_common::publish_test_results 8
2472 flowey e 17 flowey_lib_common::publish_test_results 9
2473 flowey e 17 flowey_lib_common::publish_test_results 10
2474 flowey v 17 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3
2475 flowey v 17 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2476 shell: bash
2477 - id: flowey_lib_common__publish_test_results__11
2478 uses: actions/upload-artifact@v7
2479 with:
2480 name: x64-linux-musl-unit-tests-unit-tests crypto (rust)-junit-xml
2481 path: ${{ env.floweyvar3 }}
2482 name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (rust) (JUnit XML)'
2483 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2484 - name: generate nextest command
2485 run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 2
2486 shell: bash
2487 - name: run 'unit-tests crypto (openssl)' nextest tests
2488 run: |-
2489 flowey e 17 flowey_lib_common::run_cargo_nextest_run 4
2490 flowey e 17 flowey_lib_common::run_cargo_nextest_run 5
2491 flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 4
2492 flowey e 17 flowey_lib_common::publish_test_results 12
2493 flowey e 17 flowey_lib_common::publish_test_results 13
2494 flowey e 17 flowey_lib_common::publish_test_results 14
2495 flowey v 17 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar4
2496 flowey v 17 'flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2497 shell: bash
2498 - id: flowey_lib_common__publish_test_results__15
2499 uses: actions/upload-artifact@v7
2500 with:
2501 name: x64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml
2502 path: ${{ env.floweyvar4 }}
2503 name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)'
2504 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2505 - name: generate nextest command
2506 run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 4
2507 shell: bash
2508 - name: run 'unit-tests crypto (symcrypt)' nextest tests
2509 run: |-
2510 flowey e 17 flowey_lib_common::run_cargo_nextest_run 8
2511 flowey e 17 flowey_lib_common::run_cargo_nextest_run 9
2512 flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 5
2513 flowey e 17 flowey_lib_common::publish_test_results 16
2514 flowey e 17 flowey_lib_common::publish_test_results 17
2515 flowey e 17 flowey_lib_common::publish_test_results 18
2516 flowey v 17 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5
2517 flowey v 17 'flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2518 shell: bash
2519 - id: flowey_lib_common__publish_test_results__19
2520 uses: actions/upload-artifact@v7
2521 with:
2522 name: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml
2523 path: ${{ env.floweyvar5 }}
2524 name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)'
2525 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2526 - name: generate nextest command
2527 run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0
2528 shell: bash
2529 - name: run 'unit-tests crypto (all)' nextest tests
2530 run: |-
2531 flowey e 17 flowey_lib_common::run_cargo_nextest_run 0
2532 flowey e 17 flowey_lib_common::run_cargo_nextest_run 1
2533 flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 6
2534 flowey e 17 flowey_lib_common::publish_test_results 20
2535 flowey e 17 flowey_lib_common::publish_test_results 21
2536 flowey e 17 flowey_lib_common::publish_test_results 22
2537 flowey v 17 'flowey_lib_common::publish_test_results:39:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:35:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar6
2538 flowey v 17 'flowey_lib_common::publish_test_results:35:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2539 shell: bash
2540 - id: flowey_lib_common__publish_test_results__23
2541 uses: actions/upload-artifact@v7
2542 with:
2543 name: x64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml
2544 path: ${{ env.floweyvar6 }}
2545 name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)'
2546 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2547 - name: cargo build xtask
2548 run: |-
2549 flowey e 17 flowey_lib_hvlite::init_cross_build 1
2550 flowey e 17 flowey_lib_common::run_cargo_build 1
2551 flowey e 17 flowey_lib_hvlite::run_cargo_build 2
2552 shell: bash
2553 - name: split debug symbols
2554 run: |-
2555 flowey e 17 flowey_lib_hvlite::run_split_debug_info 0
2556 flowey e 17 flowey_lib_hvlite::run_cargo_build 3
2557 flowey e 17 flowey_lib_hvlite::build_xtask 1
2558 shell: bash
2559 - name: determine unit test exclusions
2560 run: flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 0
2561 shell: bash
2562 - name: generate nextest command
2563 run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 5
2564 shell: bash
2565 - name: run 'unit-tests' nextest tests
2566 run: |-
2567 flowey e 17 flowey_lib_common::run_cargo_nextest_run 10
2568 flowey e 17 flowey_lib_common::run_cargo_nextest_run 11
2569 flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1
2570 flowey e 17 flowey_lib_common::publish_test_results 0
2571 flowey e 17 flowey_lib_common::publish_test_results 1
2572 flowey e 17 flowey_lib_common::publish_test_results 2
2573 flowey v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
2574 flowey v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2575 shell: bash
2576 - id: flowey_lib_common__publish_test_results__3
2577 uses: actions/upload-artifact@v7
2578 with:
2579 name: x64-linux-musl-unit-tests-unit-tests-junit-xml
2580 path: ${{ env.floweyvar1 }}
2581 name: 'publish test results: x64-linux-musl-unit-tests-unit-tests (JUnit XML)'
2582 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2583 - name: report test results to overall pipeline status
2584 run: |-
2585 flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 7
2586 flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
2587 shell: bash
2588 - name: run doctests for x86_64-unknown-linux-musl
2589 run: flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
2590 shell: bash
2591 - name: 'validate cache entry: cargo-nextest'
2592 run: flowey e 17 flowey_lib_common::cache 3
2593 shell: bash
2594 - name: 'validate cache entry: gh-release-download'
2595 run: flowey e 17 flowey_lib_common::cache 7
2596 shell: bash
2597 job18:
2598 name: clippy [aarch64-windows], unit tests [aarch64-windows]
2599 runs-on:
2600 - self-hosted
2601 - 1ES.Pool=openvmm-gh-arm-westus2
2602 - 1ES.ImageOverride=win-arm64
2603 - JobId=job18-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
2604 permissions:
2605 contents: read
2606 id-token: write
2607 needs:
2608 - job0
2609 if: github.event.pull_request.draft == false
2610 steps:
2611 - run: |
2612 set -x
2613 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
2614 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
2615 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
2616 . "$HOME/.cargo/env"
2617 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
2618 rustup show
2619 if: runner.os == 'Linux'
2620 name: rustup (Linux)
2621 shell: bash
2622 - run: |
2623 set -x
2624 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
2625 ./rustup-init.exe -y --default-toolchain=1.95.0
2626 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
2627 if: runner.os == 'Windows' && runner.arch == 'X64'
2628 name: rustup (Windows X64)
2629 shell: bash
2630 - run: |
2631 set -x
2632 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
2633 ./rustup-init.exe -y --default-toolchain=1.95.0
2634 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
2635 if: runner.os == 'Windows' && runner.arch == 'ARM64'
2636 name: rustup (Windows ARM64)
2637 shell: bash
2638 - uses: actions/checkout@v6
2639 with:
2640 path: flowey_bootstrap
2641 - name: Build flowey
2642 run: |
2643 set -x
2644 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci
2645 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2646 mkdir -p "$OutDirNormal"
2647 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
2648 mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
2649 working-directory: flowey_bootstrap
2650 shell: bash
2651 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
2652 shell: bash
2653 name: 🌼📦 Add flowey to PATH
2654 - name: 🌼🔎 Self-check YAML
2655 run: |-
2656 ESCAPED_AGENT_TEMPDIR=$(
2657 cat <<'EOF' | sed 's/\\/\\\\/g'
2658 ${{ runner.temp }}
2659 EOF
2660 )
2661 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
2662 shell: bash
2663 - name: 🌼🛫 Initialize job
2664 run: |
2665 AgentTempDirNormal="${{ runner.temp }}"
2666 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2667 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
2668
2669 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
2670
2671 echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update
2672 echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update
2673
2674 cat <<'EOF' | flowey.exe v 18 'verbose' update
2675 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
2676 EOF
2677 shell: bash
2678 - name: add default cargo home to path
2679 run: flowey.exe e 18 flowey_lib_common::install_rust 0
2680 shell: bash
2681 - name: install Rust
2682 run: flowey.exe e 18 flowey_lib_common::install_rust 1
2683 shell: bash
2684 - name: detect active toolchain
2685 run: |-
2686 flowey.exe e 18 flowey_lib_common::install_rust 2
2687 flowey.exe e 18 flowey_lib_common::cfg_cargo_common_flags 0
2688 shell: bash
2689 - name: check if openvmm needs to be cloned
2690 run: |-
2691 flowey.exe e 18 flowey_lib_common::git_checkout 0
2692 flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar8
2693 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
2694 shell: bash
2695 - id: flowey_lib_common__git_checkout__1
2696 uses: actions/checkout@v6
2697 with:
2698 fetch-depth: '1'
2699 path: repo0
2700 persist-credentials: ${{ env.floweyvar8 }}
2701 name: checkout repo openvmm
2702 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2703 - name: report cloned repo directories
2704 run: |-
2705 flowey.exe v 18 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
2706 ${{ github.workspace }}
2707 EOF
2708 flowey.exe e 18 flowey_lib_common::git_checkout 3
2709 flowey.exe e 18 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2710 shell: bash
2711 - name: set '-Dwarnings' in .cargo/config.toml
2712 run: flowey.exe e 18 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
2713 shell: bash
2714 - name: create gh-release-download cache dir
2715 run: flowey.exe e 18 flowey_lib_common::download_gh_release 0
2716 shell: bash
2717 - name: Pre-processing cache vars
2718 run: |-
2719 flowey.exe e 18 flowey_lib_common::cache 4
2720 flowey.exe v 18 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
2721 flowey.exe v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
2722 shell: bash
2723 - id: flowey_lib_common__cache__5
2724 uses: actions/cache@v5
2725 with:
2726 key: ${{ env.floweyvar6 }}
2727 path: ${{ env.floweyvar7 }}
2728 name: 'Restore cache: gh-release-download'
2729 - name: download artifacts from github releases
2730 run: |-
2731 flowey.exe v 18 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
2732 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
2733 EOF
2734 flowey.exe e 18 flowey_lib_common::cache 6
2735 flowey.exe e 18 flowey_lib_common::download_gh_release 1
2736 shell: bash
2737 - name: unpack protoc
2738 run: |-
2739 flowey.exe e 18 flowey_lib_common::resolve_protoc 0
2740 flowey.exe e 18 flowey_lib_hvlite::cfg_openvmm_magicpath 0
2741 shell: bash
2742 - name: symlink protoc
2743 run: |-
2744 flowey.exe e 18 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
2745 flowey.exe e 18 flowey_lib_hvlite::init_cross_build 0
2746 flowey.exe e 18 flowey_lib_hvlite::init_cross_build 2
2747 shell: bash
2748 - name: cargo build xtask
2749 run: |-
2750 flowey.exe e 18 flowey_lib_common::run_cargo_build 0
2751 flowey.exe e 18 flowey_lib_hvlite::run_cargo_build 0
2752 flowey.exe e 18 flowey_lib_hvlite::build_xtask 0
2753 shell: bash
2754 - name: determine clippy exclusions
2755 run: flowey.exe e 18 flowey_lib_hvlite::_jobs::check_clippy 0
2756 shell: bash
2757 - name: cargo clippy
2758 run: flowey.exe e 18 flowey_lib_common::run_cargo_clippy 0
2759 shell: bash
2760 - name: cargo clippy
2761 run: flowey.exe e 18 flowey_lib_common::run_cargo_clippy 1
2762 shell: bash
2763 - name: cargo clippy
2764 run: flowey.exe e 18 flowey_lib_common::run_cargo_clippy 2
2765 shell: bash
2766 - name: create cargo-nextest cache dir
2767 run: |-
2768 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0
2769 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1
2770 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2
2771 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3
2772 shell: bash
2773 - name: Pre-processing cache vars
2774 run: |-
2775 flowey.exe e 18 flowey_lib_common::cache 0
2776 flowey.exe v 18 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
2777 flowey.exe v 18 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
2778 shell: bash
2779 - id: flowey_lib_common__cache__1
2780 uses: actions/cache@v5
2781 with:
2782 key: ${{ env.floweyvar4 }}
2783 path: ${{ env.floweyvar5 }}
2784 name: 'Restore cache: cargo-nextest'
2785 - name: downloading cargo-nextest
2786 run: |-
2787 flowey.exe v 18 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
2788 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
2789 EOF
2790 flowey.exe e 18 flowey_lib_common::cache 2
2791 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 4
2792 shell: bash
2793 - name: report $CARGO_HOME
2794 run: flowey.exe e 18 flowey_lib_common::install_rust 3
2795 shell: bash
2796 - name: installing cargo-nextest
2797 run: |-
2798 flowey.exe e 18 flowey_lib_common::install_cargo_nextest 0
2799 flowey.exe e 18 flowey_lib_hvlite::init_cross_build 1
2800 flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 0
2801 shell: bash
2802 - name: generate nextest command
2803 run: flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1
2804 shell: bash
2805 - name: run 'unit-tests crypto (rust)' nextest tests
2806 run: |-
2807 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 2
2808 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 3
2809 flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 3
2810 flowey.exe e 18 flowey_lib_common::publish_test_results 5
2811 flowey.exe e 18 flowey_lib_common::publish_test_results 6
2812 flowey.exe e 18 flowey_lib_common::publish_test_results 4
2813 flowey.exe v 18 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar2
2814 flowey.exe v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2815 shell: bash
2816 - id: flowey_lib_common__publish_test_results__7
2817 uses: actions/upload-artifact@v7
2818 with:
2819 name: aarch64-windows-unit-tests-unit-tests crypto (rust)-junit-xml
2820 path: ${{ env.floweyvar2 }}
2821 name: 'publish test results: aarch64-windows-unit-tests-unit-tests crypto (rust) (JUnit XML)'
2822 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2823 - name: cargo build xtask
2824 run: |-
2825 flowey.exe e 18 flowey_lib_hvlite::init_cross_build 3
2826 flowey.exe e 18 flowey_lib_common::run_cargo_build 1
2827 flowey.exe e 18 flowey_lib_hvlite::run_cargo_build 1
2828 flowey.exe e 18 flowey_lib_hvlite::build_xtask 1
2829 shell: bash
2830 - name: determine unit test exclusions
2831 run: flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 0
2832 shell: bash
2833 - name: generate nextest command
2834 run: flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2
2835 shell: bash
2836 - name: run 'unit-tests' nextest tests
2837 run: |-
2838 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 4
2839 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 5
2840 flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 1
2841 flowey.exe e 18 flowey_lib_common::publish_test_results 8
2842 flowey.exe e 18 flowey_lib_common::publish_test_results 9
2843 flowey.exe e 18 flowey_lib_common::publish_test_results 10
2844 flowey.exe v 18 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3
2845 flowey.exe v 18 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2846 shell: bash
2847 - id: flowey_lib_common__publish_test_results__11
2848 uses: actions/upload-artifact@v7
2849 with:
2850 name: aarch64-windows-unit-tests-unit-tests-junit-xml
2851 path: ${{ env.floweyvar3 }}
2852 name: 'publish test results: aarch64-windows-unit-tests-unit-tests (JUnit XML)'
2853 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2854 - name: generate nextest command
2855 run: flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0
2856 shell: bash
2857 - name: run 'unit-tests crypto (native)' nextest tests
2858 run: |-
2859 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 0
2860 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 1
2861 flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 2
2862 flowey.exe e 18 flowey_lib_common::publish_test_results 0
2863 flowey.exe e 18 flowey_lib_common::publish_test_results 1
2864 flowey.exe e 18 flowey_lib_common::publish_test_results 2
2865 flowey.exe v 18 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
2866 flowey.exe v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2867 shell: bash
2868 - id: flowey_lib_common__publish_test_results__3
2869 uses: actions/upload-artifact@v7
2870 with:
2871 name: aarch64-windows-unit-tests-unit-tests crypto (native)-junit-xml
2872 path: ${{ env.floweyvar1 }}
2873 name: 'publish test results: aarch64-windows-unit-tests-unit-tests crypto (native) (JUnit XML)'
2874 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2875 - name: report test results to overall pipeline status
2876 run: |-
2877 flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 4
2878 flowey.exe e 18 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
2879 shell: bash
2880 - name: run doctests for aarch64-pc-windows-msvc
2881 run: flowey.exe e 18 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
2882 shell: bash
2883 - name: 'validate cache entry: cargo-nextest'
2884 run: flowey.exe e 18 flowey_lib_common::cache 3
2885 shell: bash
2886 - name: 'validate cache entry: gh-release-download'
2887 run: flowey.exe e 18 flowey_lib_common::cache 7
2888 shell: bash
2889 job19:
2890 name: clippy [aarch64-linux], unit tests [aarch64-linux]
2891 runs-on:
2892 - self-hosted
2893 - 1ES.Pool=openvmm-gh-arm-westus2
2894 - 1ES.ImageOverride=ubuntu2404-arm64
2895 - JobId=job19-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
2896 permissions:
2897 contents: read
2898 id-token: write
2899 needs:
2900 - job0
2901 if: github.event.pull_request.draft == false
2902 steps:
2903 - run: |
2904 set -x
2905 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
2906 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
2907 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
2908 . "$HOME/.cargo/env"
2909 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
2910 rustup show
2911 if: runner.os == 'Linux'
2912 name: rustup (Linux)
2913 shell: bash
2914 - run: |
2915 set -x
2916 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
2917 ./rustup-init.exe -y --default-toolchain=1.95.0
2918 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
2919 if: runner.os == 'Windows' && runner.arch == 'X64'
2920 name: rustup (Windows X64)
2921 shell: bash
2922 - run: |
2923 set -x
2924 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
2925 ./rustup-init.exe -y --default-toolchain=1.95.0
2926 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
2927 if: runner.os == 'Windows' && runner.arch == 'ARM64'
2928 name: rustup (Windows ARM64)
2929 shell: bash
2930 - uses: actions/checkout@v6
2931 with:
2932 path: flowey_bootstrap
2933 - name: Build flowey
2934 run: |
2935 set -x
2936 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci
2937 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2938 mkdir -p "$OutDirNormal"
2939 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
2940 mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
2941 working-directory: flowey_bootstrap
2942 shell: bash
2943 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
2944 shell: bash
2945 name: 🌼📦 Add flowey to PATH
2946 - name: 🌼🔎 Self-check YAML
2947 run: |-
2948 ESCAPED_AGENT_TEMPDIR=$(
2949 cat <<'EOF' | sed 's/\\/\\\\/g'
2950 ${{ runner.temp }}
2951 EOF
2952 )
2953 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
2954 shell: bash
2955 - name: 🌼🛫 Initialize job
2956 run: |
2957 AgentTempDirNormal="${{ runner.temp }}"
2958 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2959 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
2960
2961 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
2962
2963 echo '"debug"' | flowey v 19 'FLOWEY_LOG' update
2964 echo "${{ runner.temp }}/work" | flowey v 19 '_internal_WORKING_DIR' --is-raw-string update
2965
2966 cat <<'EOF' | flowey v 19 'verbose' update
2967 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
2968 EOF
2969 shell: bash
2970 - name: add default cargo home to path
2971 run: flowey e 19 flowey_lib_common::install_rust 0
2972 shell: bash
2973 - name: install Rust
2974 run: flowey e 19 flowey_lib_common::install_rust 1
2975 shell: bash
2976 - name: detect active toolchain
2977 run: |-
2978 flowey e 19 flowey_lib_common::install_rust 2
2979 flowey e 19 flowey_lib_common::cfg_cargo_common_flags 0
2980 shell: bash
2981 - name: checking if packages need to be installed
2982 run: flowey e 19 flowey_lib_common::install_dist_pkg 0
2983 shell: bash
2984 - name: installing packages
2985 run: flowey e 19 flowey_lib_common::install_dist_pkg 1
2986 shell: bash
2987 - name: check if openvmm needs to be cloned
2988 run: |-
2989 flowey e 19 flowey_lib_common::git_checkout 0
2990 flowey v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar10
2991 flowey v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
2992 shell: bash
2993 - id: flowey_lib_common__git_checkout__1
2994 uses: actions/checkout@v6
2995 with:
2996 fetch-depth: '1'
2997 path: repo0
2998 persist-credentials: ${{ env.floweyvar10 }}
2999 name: checkout repo openvmm
3000 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3001 - name: report cloned repo directories
3002 run: |-
3003 flowey v 19 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
3004 ${{ github.workspace }}
3005 EOF
3006 flowey e 19 flowey_lib_common::git_checkout 3
3007 flowey e 19 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3008 shell: bash
3009 - name: set '-Dwarnings' in .cargo/config.toml
3010 run: flowey e 19 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
3011 shell: bash
3012 - name: create gh-release-download cache dir
3013 run: flowey e 19 flowey_lib_common::download_gh_release 0
3014 shell: bash
3015 - name: Pre-processing cache vars
3016 run: |-
3017 flowey e 19 flowey_lib_common::cache 4
3018 flowey v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
3019 flowey v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
3020 shell: bash
3021 - id: flowey_lib_common__cache__5
3022 uses: actions/cache@v5
3023 with:
3024 key: ${{ env.floweyvar8 }}
3025 path: ${{ env.floweyvar9 }}
3026 name: 'Restore cache: gh-release-download'
3027 - name: download artifacts from github releases
3028 run: |-
3029 flowey v 19 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
3030 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
3031 EOF
3032 flowey e 19 flowey_lib_common::cache 6
3033 flowey e 19 flowey_lib_common::download_gh_release 1
3034 shell: bash
3035 - name: unpack protoc
3036 run: |-
3037 flowey e 19 flowey_lib_common::resolve_protoc 0
3038 flowey e 19 flowey_lib_hvlite::cfg_openvmm_magicpath 0
3039 shell: bash
3040 - name: symlink protoc
3041 run: |-
3042 flowey e 19 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
3043 flowey e 19 flowey_lib_hvlite::init_cross_build 0
3044 shell: bash
3045 - name: cargo clippy
3046 run: |-
3047 flowey e 19 flowey_lib_common::run_cargo_clippy 1
3048 flowey e 19 flowey_lib_hvlite::init_cross_build 2
3049 shell: bash
3050 - name: cargo build xtask
3051 run: |-
3052 flowey e 19 flowey_lib_common::run_cargo_build 0
3053 flowey e 19 flowey_lib_hvlite::run_cargo_build 0
3054 shell: bash
3055 - name: split debug symbols
3056 run: |-
3057 flowey e 19 flowey_lib_hvlite::run_split_debug_info 1
3058 flowey e 19 flowey_lib_hvlite::run_cargo_build 1
3059 flowey e 19 flowey_lib_hvlite::build_xtask 0
3060 shell: bash
3061 - name: determine clippy exclusions
3062 run: flowey e 19 flowey_lib_hvlite::_jobs::check_clippy 0
3063 shell: bash
3064 - name: cargo clippy
3065 run: flowey e 19 flowey_lib_common::run_cargo_clippy 0
3066 shell: bash
3067 - name: cargo clippy
3068 run: flowey e 19 flowey_lib_common::run_cargo_clippy 2
3069 shell: bash
3070 - name: cargo clippy
3071 run: flowey e 19 flowey_lib_common::run_cargo_clippy 4
3072 shell: bash
3073 - name: cargo clippy
3074 run: flowey e 19 flowey_lib_common::run_cargo_clippy 3
3075 shell: bash
3076 - name: create cargo-nextest cache dir
3077 run: |-
3078 flowey e 19 flowey_lib_common::download_cargo_nextest 0
3079 flowey e 19 flowey_lib_common::download_cargo_nextest 1
3080 flowey e 19 flowey_lib_common::download_cargo_nextest 2
3081 flowey e 19 flowey_lib_common::download_cargo_nextest 3
3082 shell: bash
3083 - name: Pre-processing cache vars
3084 run: |-
3085 flowey e 19 flowey_lib_common::cache 0
3086 flowey v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
3087 flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
3088 shell: bash
3089 - id: flowey_lib_common__cache__1
3090 uses: actions/cache@v5
3091 with:
3092 key: ${{ env.floweyvar6 }}
3093 path: ${{ env.floweyvar7 }}
3094 name: 'Restore cache: cargo-nextest'
3095 - name: downloading cargo-nextest
3096 run: |-
3097 flowey v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
3098 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3099 EOF
3100 flowey e 19 flowey_lib_common::cache 2
3101 flowey e 19 flowey_lib_common::download_cargo_nextest 4
3102 shell: bash
3103 - name: report $CARGO_HOME
3104 run: flowey e 19 flowey_lib_common::install_rust 3
3105 shell: bash
3106 - name: installing cargo-nextest
3107 run: |-
3108 flowey e 19 flowey_lib_common::install_cargo_nextest 0
3109 flowey e 19 flowey_lib_hvlite::init_cross_build 1
3110 flowey e 19 flowey_lib_hvlite::run_cargo_nextest_run 0
3111 shell: bash
3112 - name: generate nextest command
3113 run: flowey e 19 flowey_lib_common::gen_cargo_nextest_run_cmd 1
3114 shell: bash
3115 - name: run 'unit-tests crypto (native)' nextest tests
3116 run: |-
3117 flowey e 19 flowey_lib_common::run_cargo_nextest_run 2
3118 flowey e 19 flowey_lib_common::run_cargo_nextest_run 3
3119 flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 2
3120 flowey e 19 flowey_lib_common::publish_test_results 5
3121 flowey e 19 flowey_lib_common::publish_test_results 6
3122 flowey e 19 flowey_lib_common::publish_test_results 4
3123 flowey v 19 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar2
3124 flowey v 19 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3125 shell: bash
3126 - id: flowey_lib_common__publish_test_results__7
3127 uses: actions/upload-artifact@v7
3128 with:
3129 name: aarch64-linux-unit-tests-unit-tests crypto (native)-junit-xml
3130 path: ${{ env.floweyvar2 }}
3131 name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (native) (JUnit XML)'
3132 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3133 - name: generate nextest command
3134 run: flowey e 19 flowey_lib_common::gen_cargo_nextest_run_cmd 3
3135 shell: bash
3136 - name: run 'unit-tests crypto (rust)' nextest tests
3137 run: |-
3138 flowey e 19 flowey_lib_common::run_cargo_nextest_run 6
3139 flowey e 19 flowey_lib_common::run_cargo_nextest_run 7
3140 flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 3
3141 flowey e 19 flowey_lib_common::publish_test_results 8
3142 flowey e 19 flowey_lib_common::publish_test_results 9
3143 flowey e 19 flowey_lib_common::publish_test_results 10
3144 flowey v 19 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3
3145 flowey v 19 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3146 shell: bash
3147 - id: flowey_lib_common__publish_test_results__11
3148 uses: actions/upload-artifact@v7
3149 with:
3150 name: aarch64-linux-unit-tests-unit-tests crypto (rust)-junit-xml
3151 path: ${{ env.floweyvar3 }}
3152 name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (rust) (JUnit XML)'
3153 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3154 - name: generate nextest command
3155 run: flowey e 19 flowey_lib_common::gen_cargo_nextest_run_cmd 2
3156 shell: bash
3157 - name: run 'unit-tests crypto (openssl)' nextest tests
3158 run: |-
3159 flowey e 19 flowey_lib_common::run_cargo_nextest_run 4
3160 flowey e 19 flowey_lib_common::run_cargo_nextest_run 5
3161 flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 4
3162 flowey e 19 flowey_lib_common::publish_test_results 12
3163 flowey e 19 flowey_lib_common::publish_test_results 13
3164 flowey e 19 flowey_lib_common::publish_test_results 14
3165 flowey v 19 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar4
3166 flowey v 19 'flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3167 shell: bash
3168 - id: flowey_lib_common__publish_test_results__15
3169 uses: actions/upload-artifact@v7
3170 with:
3171 name: aarch64-linux-unit-tests-unit-tests crypto (openssl)-junit-xml
3172 path: ${{ env.floweyvar4 }}
3173 name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)'
3174 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3175 - name: generate nextest command
3176 run: flowey e 19 flowey_lib_common::gen_cargo_nextest_run_cmd 0
3177 shell: bash
3178 - name: run 'unit-tests crypto (all)' nextest tests
3179 run: |-
3180 flowey e 19 flowey_lib_common::run_cargo_nextest_run 0
3181 flowey e 19 flowey_lib_common::run_cargo_nextest_run 1
3182 flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 5
3183 flowey e 19 flowey_lib_common::publish_test_results 16
3184 flowey e 19 flowey_lib_common::publish_test_results 17
3185 flowey e 19 flowey_lib_common::publish_test_results 18
3186 flowey v 19 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5
3187 flowey v 19 'flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3188 shell: bash
3189 - id: flowey_lib_common__publish_test_results__19
3190 uses: actions/upload-artifact@v7
3191 with:
3192 name: aarch64-linux-unit-tests-unit-tests crypto (all)-junit-xml
3193 path: ${{ env.floweyvar5 }}
3194 name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)'
3195 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3196 - name: cargo build xtask
3197 run: |-
3198 flowey e 19 flowey_lib_hvlite::init_cross_build 3
3199 flowey e 19 flowey_lib_common::run_cargo_build 1
3200 flowey e 19 flowey_lib_hvlite::run_cargo_build 2
3201 shell: bash
3202 - name: split debug symbols
3203 run: |-
3204 flowey e 19 flowey_lib_hvlite::run_split_debug_info 0
3205 flowey e 19 flowey_lib_hvlite::run_cargo_build 3
3206 flowey e 19 flowey_lib_hvlite::build_xtask 1
3207 shell: bash
3208 - name: determine unit test exclusions
3209 run: flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 0
3210 shell: bash
3211 - name: generate nextest command
3212 run: flowey e 19 flowey_lib_common::gen_cargo_nextest_run_cmd 4
3213 shell: bash
3214 - name: run 'unit-tests' nextest tests
3215 run: |-
3216 flowey e 19 flowey_lib_common::run_cargo_nextest_run 8
3217 flowey e 19 flowey_lib_common::run_cargo_nextest_run 9
3218 flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 1
3219 flowey e 19 flowey_lib_common::publish_test_results 0
3220 flowey e 19 flowey_lib_common::publish_test_results 1
3221 flowey e 19 flowey_lib_common::publish_test_results 2
3222 flowey v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
3223 flowey v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3224 shell: bash
3225 - id: flowey_lib_common__publish_test_results__3
3226 uses: actions/upload-artifact@v7
3227 with:
3228 name: aarch64-linux-unit-tests-unit-tests-junit-xml
3229 path: ${{ env.floweyvar1 }}
3230 name: 'publish test results: aarch64-linux-unit-tests-unit-tests (JUnit XML)'
3231 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3232 - name: report test results to overall pipeline status
3233 run: |-
3234 flowey e 19 flowey_lib_hvlite::build_nextest_unit_tests 6
3235 flowey e 19 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
3236 shell: bash
3237 - name: run doctests for aarch64-unknown-linux-gnu
3238 run: flowey e 19 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
3239 shell: bash
3240 - name: 'validate cache entry: cargo-nextest'
3241 run: flowey e 19 flowey_lib_common::cache 3
3242 shell: bash
3243 - name: 'validate cache entry: gh-release-download'
3244 run: flowey e 19 flowey_lib_common::cache 7
3245 shell: bash
3246 job2:
3247 name: build artifacts (shared VMM tests) [windows]
3248 runs-on:
3249 - self-hosted
3250 - 1ES.Pool=openvmm-gh-amd-westus3
3251 - 1ES.ImageOverride=win-amd64
3252 - JobId=job2-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
3253 permissions:
3254 contents: read
3255 id-token: write
3256 needs:
3257 - job0
3258 if: github.event.pull_request.draft == false
3259 steps:
3260 - run: |
3261 set -x
3262 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
3263 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
3264 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
3265 . "$HOME/.cargo/env"
3266 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
3267 rustup show
3268 if: runner.os == 'Linux'
3269 name: rustup (Linux)
3270 shell: bash
3271 - run: |
3272 set -x
3273 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
3274 ./rustup-init.exe -y --default-toolchain=1.95.0
3275 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
3276 if: runner.os == 'Windows' && runner.arch == 'X64'
3277 name: rustup (Windows X64)
3278 shell: bash
3279 - run: |
3280 set -x
3281 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
3282 ./rustup-init.exe -y --default-toolchain=1.95.0
3283 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
3284 if: runner.os == 'Windows' && runner.arch == 'ARM64'
3285 name: rustup (Windows ARM64)
3286 shell: bash
3287 - uses: actions/checkout@v6
3288 with:
3289 path: flowey_bootstrap
3290 - name: Build flowey
3291 run: |
3292 set -x
3293 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
3294 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3295 mkdir -p "$OutDirNormal"
3296 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
3297 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
3298 working-directory: flowey_bootstrap
3299 shell: bash
3300 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
3301 shell: bash
3302 name: 🌼📦 Add flowey to PATH
3303 - name: 🌼🔎 Self-check YAML
3304 run: |-
3305 ESCAPED_AGENT_TEMPDIR=$(
3306 cat <<'EOF' | sed 's/\\/\\\\/g'
3307 ${{ runner.temp }}
3308 EOF
3309 )
3310 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
3311 shell: bash
3312 - name: 🌼🛫 Initialize job
3313 run: |
3314 AgentTempDirNormal="${{ runner.temp }}"
3315 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3316 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
3317
3318 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
3319
3320 echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update
3321 echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update
3322
3323 cat <<'EOF' | flowey.exe v 2 'verbose' update
3324 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
3325 EOF
3326 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette"
3327 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update
3328 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette"
3329 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 2 'artifact_publish_from_x64-windows-pipette' --is-raw-string update
3330 shell: bash
3331 - name: add default cargo home to path
3332 run: flowey.exe e 2 flowey_lib_common::install_rust 0
3333 shell: bash
3334 - name: install Rust
3335 run: flowey.exe e 2 flowey_lib_common::install_rust 1
3336 shell: bash
3337 - name: detect active toolchain
3338 run: |-
3339 flowey.exe e 2 flowey_lib_common::install_rust 2
3340 flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0
3341 shell: bash
3342 - name: check if openvmm needs to be cloned
3343 run: |-
3344 flowey.exe e 2 flowey_lib_common::git_checkout 0
3345 flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
3346 flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
3347 shell: bash
3348 - id: flowey_lib_common__git_checkout__1
3349 uses: actions/checkout@v6
3350 with:
3351 fetch-depth: '1'
3352 path: repo0
3353 persist-credentials: ${{ env.floweyvar1 }}
3354 name: checkout repo openvmm
3355 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3356 - name: report cloned repo directories
3357 run: |-
3358 flowey.exe v 2 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
3359 ${{ github.workspace }}
3360 EOF
3361 flowey.exe e 2 flowey_lib_common::git_checkout 3
3362 flowey.exe e 2 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3363 shell: bash
3364 - name: set '-Dwarnings' in .cargo/config.toml
3365 run: flowey.exe e 2 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
3366 shell: bash
3367 - name: create gh-release-download cache dir
3368 run: flowey.exe e 2 flowey_lib_common::download_gh_release 0
3369 shell: bash
3370 - name: Pre-processing cache vars
3371 run: |-
3372 flowey.exe e 2 flowey_lib_common::cache 0
3373 flowey.exe v 2 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
3374 flowey.exe v 2 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
3375 shell: bash
3376 - id: flowey_lib_common__cache__1
3377 uses: actions/cache@v5
3378 with:
3379 key: ${{ env.floweyvar2 }}
3380 path: ${{ env.floweyvar3 }}
3381 name: 'Restore cache: gh-release-download'
3382 - name: download artifacts from github releases
3383 run: |-
3384 flowey.exe v 2 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
3385 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3386 EOF
3387 flowey.exe e 2 flowey_lib_common::cache 2
3388 flowey.exe e 2 flowey_lib_common::download_gh_release 1
3389 shell: bash
3390 - name: unpack protoc
3391 run: |-
3392 flowey.exe e 2 flowey_lib_common::resolve_protoc 0
3393 flowey.exe e 2 flowey_lib_hvlite::cfg_openvmm_magicpath 0
3394 shell: bash
3395 - name: symlink protoc
3396 run: |-
3397 flowey.exe e 2 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
3398 flowey.exe e 2 flowey_lib_hvlite::init_cross_build 0
3399 shell: bash
3400 - name: cargo build pipette
3401 run: |-
3402 flowey.exe e 2 flowey_lib_common::run_cargo_build 0
3403 flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 0
3404 flowey.exe e 2 flowey_lib_hvlite::build_pipette 0
3405 flowey.exe e 2 flowey_core::pipeline::artifact::publish 0
3406 flowey.exe e 2 flowey_lib_hvlite::init_cross_build 1
3407 shell: bash
3408 - name: cargo build pipette
3409 run: |-
3410 flowey.exe e 2 flowey_lib_common::run_cargo_build 1
3411 flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 1
3412 flowey.exe e 2 flowey_lib_hvlite::build_pipette 1
3413 flowey.exe e 2 flowey_core::pipeline::artifact::publish 1
3414 shell: bash
3415 - name: 'validate cache entry: gh-release-download'
3416 run: flowey.exe e 2 flowey_lib_common::cache 3
3417 shell: bash
3418 - name: 🌼📦 Publish aarch64-windows-pipette
3419 uses: actions/upload-artifact@v7
3420 with:
3421 name: aarch64-windows-pipette
3422 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/
3423 include-hidden-files: true
3424 - name: 🌼📦 Publish x64-windows-pipette
3425 uses: actions/upload-artifact@v7
3426 with:
3427 name: x64-windows-pipette
3428 path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/
3429 include-hidden-files: true
3430 job20:
3431 name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl]
3432 runs-on:
3433 - self-hosted
3434 - 1ES.Pool=openvmm-gh-arm-westus2
3435 - 1ES.ImageOverride=ubuntu2404-arm64
3436 - JobId=job20-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
3437 permissions:
3438 contents: read
3439 id-token: write
3440 needs:
3441 - job0
3442 if: github.event.pull_request.draft == false
3443 steps:
3444 - run: |
3445 set -x
3446 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
3447 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
3448 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
3449 . "$HOME/.cargo/env"
3450 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
3451 rustup show
3452 if: runner.os == 'Linux'
3453 name: rustup (Linux)
3454 shell: bash
3455 - run: |
3456 set -x
3457 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
3458 ./rustup-init.exe -y --default-toolchain=1.95.0
3459 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
3460 if: runner.os == 'Windows' && runner.arch == 'X64'
3461 name: rustup (Windows X64)
3462 shell: bash
3463 - run: |
3464 set -x
3465 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
3466 ./rustup-init.exe -y --default-toolchain=1.95.0
3467 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
3468 if: runner.os == 'Windows' && runner.arch == 'ARM64'
3469 name: rustup (Windows ARM64)
3470 shell: bash
3471 - uses: actions/checkout@v6
3472 with:
3473 path: flowey_bootstrap
3474 - name: Build flowey
3475 run: |
3476 set -x
3477 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci
3478 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3479 mkdir -p "$OutDirNormal"
3480 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
3481 mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
3482 working-directory: flowey_bootstrap
3483 shell: bash
3484 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
3485 shell: bash
3486 name: 🌼📦 Add flowey to PATH
3487 - name: 🌼🔎 Self-check YAML
3488 run: |-
3489 ESCAPED_AGENT_TEMPDIR=$(
3490 cat <<'EOF' | sed 's/\\/\\\\/g'
3491 ${{ runner.temp }}
3492 EOF
3493 )
3494 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
3495 shell: bash
3496 - name: 🌼🛫 Initialize job
3497 run: |
3498 AgentTempDirNormal="${{ runner.temp }}"
3499 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3500 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
3501
3502 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
3503
3504 echo '"debug"' | flowey v 20 'FLOWEY_LOG' update
3505 echo "${{ runner.temp }}/work" | flowey v 20 '_internal_WORKING_DIR' --is-raw-string update
3506
3507 cat <<'EOF' | flowey v 20 'verbose' update
3508 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
3509 EOF
3510 shell: bash
3511 - name: add default cargo home to path
3512 run: flowey e 20 flowey_lib_common::install_rust 0
3513 shell: bash
3514 - name: install Rust
3515 run: flowey e 20 flowey_lib_common::install_rust 1
3516 shell: bash
3517 - name: detect active toolchain
3518 run: |-
3519 flowey e 20 flowey_lib_common::install_rust 2
3520 flowey e 20 flowey_lib_common::cfg_cargo_common_flags 0
3521 shell: bash
3522 - name: check if openvmm needs to be cloned
3523 run: |-
3524 flowey e 20 flowey_lib_common::git_checkout 0
3525 flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar11
3526 flowey v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
3527 shell: bash
3528 - id: flowey_lib_common__git_checkout__1
3529 uses: actions/checkout@v6
3530 with:
3531 fetch-depth: '1'
3532 path: repo0
3533 persist-credentials: ${{ env.floweyvar11 }}
3534 name: checkout repo openvmm
3535 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3536 - name: report cloned repo directories
3537 run: |-
3538 flowey v 20 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
3539 ${{ github.workspace }}
3540 EOF
3541 flowey e 20 flowey_lib_common::git_checkout 3
3542 flowey e 20 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3543 flowey e 20 flowey_lib_hvlite::cfg_openvmm_magicpath 0
3544 shell: bash
3545 - name: create gh-release-download cache dir
3546 run: flowey e 20 flowey_lib_common::download_gh_release 0
3547 shell: bash
3548 - name: Pre-processing cache vars
3549 run: |-
3550 flowey e 20 flowey_lib_common::cache 4
3551 flowey v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar9
3552 flowey v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar10
3553 shell: bash
3554 - id: flowey_lib_common__cache__5
3555 uses: actions/cache@v5
3556 with:
3557 key: ${{ env.floweyvar9 }}
3558 path: ${{ env.floweyvar10 }}
3559 name: 'Restore cache: gh-release-download'
3560 - name: download artifacts from github releases
3561 run: |-
3562 flowey v 20 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
3563 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
3564 EOF
3565 flowey e 20 flowey_lib_common::cache 6
3566 flowey e 20 flowey_lib_common::download_gh_release 1
3567 shell: bash
3568 - name: unpack openvmm-deps archive
3569 run: flowey e 20 flowey_lib_hvlite::resolve_openvmm_deps 0
3570 shell: bash
3571 - name: extract Aarch64 sysroot.tar.gz
3572 run: flowey e 20 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
3573 shell: bash
3574 - name: checking if packages need to be installed
3575 run: flowey e 20 flowey_lib_common::install_dist_pkg 0
3576 shell: bash
3577 - name: installing packages
3578 run: flowey e 20 flowey_lib_common::install_dist_pkg 1
3579 shell: bash
3580 - name: set '-Dwarnings' in .cargo/config.toml
3581 run: flowey e 20 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
3582 shell: bash
3583 - name: unpack protoc
3584 run: flowey e 20 flowey_lib_common::resolve_protoc 0
3585 shell: bash
3586 - name: symlink protoc
3587 run: |-
3588 flowey e 20 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
3589 flowey e 20 flowey_lib_hvlite::init_cross_build 2
3590 shell: bash
3591 - name: cargo clippy
3592 run: flowey e 20 flowey_lib_common::run_cargo_clippy 3
3593 shell: bash
3594 - name: cargo clippy
3595 run: flowey e 20 flowey_lib_common::run_cargo_clippy 5
3596 shell: bash
3597 - name: cargo clippy
3598 run: flowey e 20 flowey_lib_common::run_cargo_clippy 1
3599 shell: bash
3600 - name: cargo clippy
3601 run: flowey e 20 flowey_lib_common::run_cargo_clippy 7
3602 shell: bash
3603 - name: cargo clippy
3604 run: |-
3605 flowey e 20 flowey_lib_common::run_cargo_clippy 6
3606 flowey e 20 flowey_lib_hvlite::init_cross_build 0
3607 shell: bash
3608 - name: cargo build xtask
3609 run: |-
3610 flowey e 20 flowey_lib_common::run_cargo_build 0
3611 flowey e 20 flowey_lib_hvlite::run_cargo_build 0
3612 shell: bash
3613 - name: split debug symbols
3614 run: |-
3615 flowey e 20 flowey_lib_hvlite::run_split_debug_info 1
3616 flowey e 20 flowey_lib_hvlite::run_cargo_build 1
3617 flowey e 20 flowey_lib_hvlite::build_xtask 0
3618 shell: bash
3619 - name: determine clippy exclusions
3620 run: flowey e 20 flowey_lib_hvlite::_jobs::check_clippy 0
3621 shell: bash
3622 - name: cargo clippy
3623 run: flowey e 20 flowey_lib_common::run_cargo_clippy 0
3624 shell: bash
3625 - name: cargo clippy
3626 run: flowey e 20 flowey_lib_common::run_cargo_clippy 2
3627 shell: bash
3628 - name: cargo clippy
3629 run: flowey e 20 flowey_lib_common::run_cargo_clippy 4
3630 shell: bash
3631 - name: create cargo-nextest cache dir
3632 run: |-
3633 flowey e 20 flowey_lib_common::download_cargo_nextest 0
3634 flowey e 20 flowey_lib_common::download_cargo_nextest 1
3635 flowey e 20 flowey_lib_common::download_cargo_nextest 2
3636 flowey e 20 flowey_lib_common::download_cargo_nextest 3
3637 shell: bash
3638 - name: Pre-processing cache vars
3639 run: |-
3640 flowey e 20 flowey_lib_common::cache 0
3641 flowey v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar7
3642 flowey v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar8
3643 shell: bash
3644 - id: flowey_lib_common__cache__1
3645 uses: actions/cache@v5
3646 with:
3647 key: ${{ env.floweyvar7 }}
3648 path: ${{ env.floweyvar8 }}
3649 name: 'Restore cache: cargo-nextest'
3650 - name: downloading cargo-nextest
3651 run: |-
3652 flowey v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
3653 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3654 EOF
3655 flowey e 20 flowey_lib_common::cache 2
3656 flowey e 20 flowey_lib_common::download_cargo_nextest 4
3657 shell: bash
3658 - name: report $CARGO_HOME
3659 run: flowey e 20 flowey_lib_common::install_rust 3
3660 shell: bash
3661 - name: installing cargo-nextest
3662 run: |-
3663 flowey e 20 flowey_lib_common::install_cargo_nextest 0
3664 flowey e 20 flowey_lib_hvlite::init_cross_build 3
3665 flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 0
3666 shell: bash
3667 - name: generate nextest command
3668 run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 1
3669 shell: bash
3670 - name: run 'unit-tests crypto (native)' nextest tests
3671 run: |-
3672 flowey e 20 flowey_lib_common::run_cargo_nextest_run 2
3673 flowey e 20 flowey_lib_common::run_cargo_nextest_run 3
3674 flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 2
3675 flowey e 20 flowey_lib_common::publish_test_results 5
3676 flowey e 20 flowey_lib_common::publish_test_results 6
3677 flowey e 20 flowey_lib_common::publish_test_results 4
3678 flowey v 20 'flowey_lib_common::publish_test_results:11:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar2
3679 flowey v 20 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3680 shell: bash
3681 - id: flowey_lib_common__publish_test_results__7
3682 uses: actions/upload-artifact@v7
3683 with:
3684 name: aarch64-linux-musl-unit-tests-unit-tests crypto (native)-junit-xml
3685 path: ${{ env.floweyvar2 }}
3686 name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (native) (JUnit XML)'
3687 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3688 - name: generate nextest command
3689 run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 3
3690 shell: bash
3691 - name: run 'unit-tests crypto (rust)' nextest tests
3692 run: |-
3693 flowey e 20 flowey_lib_common::run_cargo_nextest_run 6
3694 flowey e 20 flowey_lib_common::run_cargo_nextest_run 7
3695 flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 3
3696 flowey e 20 flowey_lib_common::publish_test_results 8
3697 flowey e 20 flowey_lib_common::publish_test_results 9
3698 flowey e 20 flowey_lib_common::publish_test_results 10
3699 flowey v 20 'flowey_lib_common::publish_test_results:18:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar3
3700 flowey v 20 'flowey_lib_common::publish_test_results:14:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3701 shell: bash
3702 - id: flowey_lib_common__publish_test_results__11
3703 uses: actions/upload-artifact@v7
3704 with:
3705 name: aarch64-linux-musl-unit-tests-unit-tests crypto (rust)-junit-xml
3706 path: ${{ env.floweyvar3 }}
3707 name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (rust) (JUnit XML)'
3708 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3709 - name: generate nextest command
3710 run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 2
3711 shell: bash
3712 - name: run 'unit-tests crypto (openssl)' nextest tests
3713 run: |-
3714 flowey e 20 flowey_lib_common::run_cargo_nextest_run 4
3715 flowey e 20 flowey_lib_common::run_cargo_nextest_run 5
3716 flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 4
3717 flowey e 20 flowey_lib_common::publish_test_results 12
3718 flowey e 20 flowey_lib_common::publish_test_results 13
3719 flowey e 20 flowey_lib_common::publish_test_results 14
3720 flowey v 20 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar4
3721 flowey v 20 'flowey_lib_common::publish_test_results:21:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3722 shell: bash
3723 - id: flowey_lib_common__publish_test_results__15
3724 uses: actions/upload-artifact@v7
3725 with:
3726 name: aarch64-linux-musl-unit-tests-unit-tests crypto (openssl)-junit-xml
3727 path: ${{ env.floweyvar4 }}
3728 name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)'
3729 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3730 - name: generate nextest command
3731 run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 4
3732 shell: bash
3733 - name: run 'unit-tests crypto (symcrypt)' nextest tests
3734 run: |-
3735 flowey e 20 flowey_lib_common::run_cargo_nextest_run 8
3736 flowey e 20 flowey_lib_common::run_cargo_nextest_run 9
3737 flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 5
3738 flowey e 20 flowey_lib_common::publish_test_results 16
3739 flowey e 20 flowey_lib_common::publish_test_results 17
3740 flowey e 20 flowey_lib_common::publish_test_results 18
3741 flowey v 20 'flowey_lib_common::publish_test_results:32:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar5
3742 flowey v 20 'flowey_lib_common::publish_test_results:28:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3743 shell: bash
3744 - id: flowey_lib_common__publish_test_results__19
3745 uses: actions/upload-artifact@v7
3746 with:
3747 name: aarch64-linux-musl-unit-tests-unit-tests crypto (symcrypt)-junit-xml
3748 path: ${{ env.floweyvar5 }}
3749 name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)'
3750 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3751 - name: generate nextest command
3752 run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 0
3753 shell: bash
3754 - name: run 'unit-tests crypto (all)' nextest tests
3755 run: |-
3756 flowey e 20 flowey_lib_common::run_cargo_nextest_run 0
3757 flowey e 20 flowey_lib_common::run_cargo_nextest_run 1
3758 flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 6
3759 flowey e 20 flowey_lib_common::publish_test_results 20
3760 flowey e 20 flowey_lib_common::publish_test_results 21
3761 flowey e 20 flowey_lib_common::publish_test_results 22
3762 flowey v 20 'flowey_lib_common::publish_test_results:39:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:35:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar6
3763 flowey v 20 'flowey_lib_common::publish_test_results:35:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3764 shell: bash
3765 - id: flowey_lib_common__publish_test_results__23
3766 uses: actions/upload-artifact@v7
3767 with:
3768 name: aarch64-linux-musl-unit-tests-unit-tests crypto (all)-junit-xml
3769 path: ${{ env.floweyvar6 }}
3770 name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)'
3771 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3772 - name: cargo build xtask
3773 run: |-
3774 flowey e 20 flowey_lib_hvlite::init_cross_build 1
3775 flowey e 20 flowey_lib_common::run_cargo_build 1
3776 flowey e 20 flowey_lib_hvlite::run_cargo_build 2
3777 shell: bash
3778 - name: split debug symbols
3779 run: |-
3780 flowey e 20 flowey_lib_hvlite::run_split_debug_info 0
3781 flowey e 20 flowey_lib_hvlite::run_cargo_build 3
3782 flowey e 20 flowey_lib_hvlite::build_xtask 1
3783 shell: bash
3784 - name: determine unit test exclusions
3785 run: flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 0
3786 shell: bash
3787 - name: generate nextest command
3788 run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 5
3789 shell: bash
3790 - name: run 'unit-tests' nextest tests
3791 run: |-
3792 flowey e 20 flowey_lib_common::run_cargo_nextest_run 10
3793 flowey e 20 flowey_lib_common::run_cargo_nextest_run 11
3794 flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 1
3795 flowey e 20 flowey_lib_common::publish_test_results 0
3796 flowey e 20 flowey_lib_common::publish_test_results 1
3797 flowey e 20 flowey_lib_common::publish_test_results 2
3798 flowey v 20 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
3799 flowey v 20 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
3800 shell: bash
3801 - id: flowey_lib_common__publish_test_results__3
3802 uses: actions/upload-artifact@v7
3803 with:
3804 name: aarch64-linux-musl-unit-tests-unit-tests-junit-xml
3805 path: ${{ env.floweyvar1 }}
3806 name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests (JUnit XML)'
3807 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3808 - name: report test results to overall pipeline status
3809 run: |-
3810 flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 7
3811 flowey e 20 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
3812 shell: bash
3813 - name: run doctests for aarch64-unknown-linux-musl
3814 run: flowey e 20 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
3815 shell: bash
3816 - name: 'validate cache entry: cargo-nextest'
3817 run: flowey e 20 flowey_lib_common::cache 3
3818 shell: bash
3819 - name: 'validate cache entry: gh-release-download'
3820 run: flowey e 20 flowey_lib_common::cache 7
3821 shell: bash
3822 job21:
3823 name: run vmm-tests [x64-windows-intel]
3824 runs-on:
3825 - self-hosted
3826 - 1ES.Pool=openvmm-gh-intel-westus3
3827 - 1ES.ImageOverride=win-amd64
3828 - JobId=job21-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
3829 permissions:
3830 contents: read
3831 id-token: write
3832 needs:
3833 - job0
3834 - job12
3835 - job2
3836 - job3
3837 - job7
3838 if: github.event.pull_request.draft == false
3839 steps:
3840 - name: 🌼📦 Download artifacts
3841 uses: actions/download-artifact@v8
3842 with:
3843 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}'
3844 path: ${{ runner.temp }}/used_artifacts/
3845 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
3846 shell: bash
3847 name: 🌼📦 Add flowey to PATH
3848 - name: 🌼🛫 Initialize job
3849 run: |
3850 AgentTempDirNormal="${{ runner.temp }}"
3851 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3852 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
3853
3854 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
3855
3856 echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update
3857 echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update
3858
3859 cat <<'EOF' | flowey.exe v 21 'verbose' update
3860 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
3861 EOF
3862 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
3863 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
3864 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
3865 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
3866 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
3867 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 21 'artifact_use_from_x64-tmks' --is-raw-string update
3868 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
3869 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 21 'artifact_use_from_x64-windows-pipette' --is-raw-string update
3870 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 21 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
3871 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 21 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
3872 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
3873 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 21 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
3874 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
3875 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update
3876 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
3877 shell: bash
3878 - name: create cargo-nextest cache dir
3879 run: |-
3880 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0
3881 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1
3882 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2
3883 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3
3884 shell: bash
3885 - name: Pre-processing cache vars
3886 run: |-
3887 flowey.exe e 21 flowey_lib_common::cache 0
3888 flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
3889 flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
3890 shell: bash
3891 - id: flowey_lib_common__cache__1
3892 uses: actions/cache@v5
3893 with:
3894 key: ${{ env.floweyvar4 }}
3895 path: ${{ env.floweyvar5 }}
3896 name: 'Restore cache: cargo-nextest'
3897 - name: downloading cargo-nextest
3898 run: |-
3899 flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
3900 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3901 EOF
3902 flowey.exe e 21 flowey_lib_common::cache 2
3903 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 4
3904 shell: bash
3905 - name: check if openvmm needs to be cloned
3906 run: |-
3907 flowey.exe e 21 flowey_lib_common::git_checkout 0
3908 flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
3909 flowey.exe v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
3910 shell: bash
3911 - id: flowey_lib_common__git_checkout__1
3912 uses: actions/checkout@v6
3913 with:
3914 fetch-depth: '1'
3915 path: repo0
3916 persist-credentials: ${{ env.floweyvar3 }}
3917 name: checkout repo openvmm
3918 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3919 - name: report cloned repo directories
3920 run: |-
3921 flowey.exe v 21 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
3922 ${{ github.workspace }}
3923 EOF
3924 flowey.exe e 21 flowey_lib_common::git_checkout 3
3925 flowey.exe e 21 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3926 flowey.exe e 21 flowey_lib_hvlite::run_cargo_nextest_run 0
3927 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 5
3928 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 6
3929 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 1
3930 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 0
3931 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 9
3932 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 2
3933 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 4
3934 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 11
3935 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 12
3936 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 10
3937 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 3
3938 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 8
3939 shell: bash
3940 - name: creating new test content dir
3941 run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
3942 shell: bash
3943 - name: resolve OpenHCL igvm artifact
3944 run: flowey.exe e 21 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
3945 shell: bash
3946 - name: create gh-release-download cache dir
3947 run: flowey.exe e 21 flowey_lib_common::download_gh_release 0
3948 shell: bash
3949 - name: Pre-processing cache vars
3950 run: |-
3951 flowey.exe e 21 flowey_lib_common::cache 8
3952 flowey.exe v 21 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
3953 flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
3954 shell: bash
3955 - id: flowey_lib_common__cache__9
3956 uses: actions/cache@v5
3957 with:
3958 key: ${{ env.floweyvar8 }}
3959 path: ${{ env.floweyvar9 }}
3960 name: 'Restore cache: gh-release-download'
3961 - name: download artifacts from github releases
3962 run: |-
3963 flowey.exe v 21 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
3964 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
3965 EOF
3966 flowey.exe e 21 flowey_lib_common::cache 10
3967 flowey.exe e 21 flowey_lib_common::download_gh_release 1
3968 shell: bash
3969 - name: extract azcopy from archive
3970 run: flowey.exe e 21 flowey_lib_common::download_azcopy 0
3971 shell: bash
3972 - name: calculating required VMM tests disk images
3973 run: flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
3974 shell: bash
3975 - name: downloading VMM test disk images
3976 run: |-
3977 flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
3978 flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
3979 shell: bash
3980 - name: create gh cache dir
3981 run: flowey.exe e 21 flowey_lib_common::download_gh_cli 0
3982 shell: bash
3983 - name: Pre-processing cache vars
3984 run: |-
3985 flowey.exe e 21 flowey_lib_common::cache 4
3986 flowey.exe v 21 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
3987 flowey.exe v 21 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
3988 shell: bash
3989 - id: flowey_lib_common__cache__5
3990 uses: actions/cache@v5
3991 with:
3992 key: ${{ env.floweyvar6 }}
3993 path: ${{ env.floweyvar7 }}
3994 name: 'Restore cache: gh-cli'
3995 - name: installing gh
3996 run: |-
3997 flowey.exe v 21 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
3998 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
3999 EOF
4000 flowey.exe e 21 flowey_lib_common::cache 6
4001 flowey.exe e 21 flowey_lib_common::download_gh_cli 1
4002 flowey.exe v 21 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
4003 ${{ github.token }}
4004 EOF
4005 shell: bash
4006 - name: setup gh cli
4007 run: flowey.exe e 21 flowey_lib_common::use_gh_cli 0
4008 shell: bash
4009 - name: get latest completed action id
4010 run: flowey.exe e 21 flowey_lib_common::gh_latest_completed_workflow_id 0
4011 shell: bash
4012 - name: download artifacts from github actions run
4013 run: |-
4014 flowey.exe e 21 flowey_lib_common::download_gh_artifact 0
4015 flowey.exe e 21 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4016 shell: bash
4017 - name: unpack openvmm-test-initrd archives
4018 run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
4019 shell: bash
4020 - name: unpack openvmm-test-linux archives
4021 run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
4022 shell: bash
4023 - name: unpack mu_msvm package (x64)
4024 run: flowey.exe e 21 flowey_lib_hvlite::download_uefi_mu_msvm 0
4025 shell: bash
4026 - name: unpack openvmm-test-virtio-win archive
4027 run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0
4028 shell: bash
4029 - name: setting up vmm_tests env
4030 run: |-
4031 flowey.exe e 21 flowey_lib_hvlite::init_vmm_tests_env 0
4032 flowey.exe e 21 flowey_lib_hvlite::run_cargo_nextest_run 1
4033 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 13
4034 flowey.exe e 21 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4035 shell: bash
4036 - name: generate nextest command
4037 run: flowey.exe e 21 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4038 shell: bash
4039 - name: install vmm tests deps (windows)
4040 run: flowey.exe e 21 flowey_lib_hvlite::install_vmm_tests_deps 0
4041 shell: bash
4042 - name: starting test_igvm_agent_rpc_server
4043 run: |-
4044 flowey.exe e 21 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4045 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 7
4046 shell: bash
4047 - name: running vmm_test prep_steps
4048 run: flowey.exe e 21 flowey_lib_hvlite::run_prep_steps 0
4049 shell: bash
4050 - name: run 'vmm_tests' nextest tests
4051 run: |-
4052 flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 0
4053 flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 1
4054 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4055 shell: bash
4056 - name: stopping test_igvm_agent_rpc_server
4057 run: |-
4058 flowey.exe e 21 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4059 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4060 flowey.exe e 21 flowey_lib_common::publish_test_results 4
4061 flowey.exe e 21 flowey_lib_common::publish_test_results 5
4062 flowey.exe v 21 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
4063 flowey.exe v 21 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
4064 shell: bash
4065 - id: flowey_lib_common__publish_test_results__6
4066 uses: actions/upload-artifact@v7
4067 with:
4068 name: x64-windows-intel-vmm-tests-logs
4069 path: ${{ env.floweyvar2 }}
4070 name: 'publish test results: x64-windows-intel-vmm-tests (logs)'
4071 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4072 - name: 🦀 flowey rust steps
4073 run: |-
4074 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4075 flowey.exe e 21 flowey_lib_common::publish_test_results 0
4076 flowey.exe e 21 flowey_lib_common::publish_test_results 1
4077 flowey.exe e 21 flowey_lib_common::publish_test_results 2
4078 flowey.exe v 21 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
4079 flowey.exe v 21 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
4080 shell: bash
4081 - id: flowey_lib_common__publish_test_results__3
4082 uses: actions/upload-artifact@v7
4083 with:
4084 name: x64-windows-intel-vmm-tests-junit-xml
4085 path: ${{ env.floweyvar1 }}
4086 name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)'
4087 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4088 - name: report test results to overall pipeline status
4089 run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4090 shell: bash
4091 - name: 'validate cache entry: cargo-nextest'
4092 run: flowey.exe e 21 flowey_lib_common::cache 3
4093 shell: bash
4094 - name: 'validate cache entry: gh-cli'
4095 run: flowey.exe e 21 flowey_lib_common::cache 7
4096 shell: bash
4097 - name: 'validate cache entry: gh-release-download'
4098 run: flowey.exe e 21 flowey_lib_common::cache 11
4099 shell: bash
4100 job22:
4101 name: run vmm-tests [x64-windows-intel-mi-secure]
4102 runs-on:
4103 - self-hosted
4104 - 1ES.Pool=openvmm-gh-intel-westus3
4105 - 1ES.ImageOverride=win-amd64
4106 - JobId=job22-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
4107 permissions:
4108 contents: read
4109 id-token: write
4110 needs:
4111 - job0
4112 - job14
4113 - job2
4114 - job3
4115 - job7
4116 if: github.event.pull_request.draft == false
4117 steps:
4118 - name: 🌼📦 Download artifacts
4119 uses: actions/download-artifact@v8
4120 with:
4121 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}'
4122 path: ${{ runner.temp }}/used_artifacts/
4123 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4124 shell: bash
4125 name: 🌼📦 Add flowey to PATH
4126 - name: 🌼🛫 Initialize job
4127 run: |
4128 AgentTempDirNormal="${{ runner.temp }}"
4129 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4130 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4131
4132 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4133
4134 echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update
4135 echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update
4136
4137 cat <<'EOF' | flowey.exe v 22 'verbose' update
4138 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4139 EOF
4140 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 22 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4141 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 22 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4142 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 22 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
4143 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 22 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
4144 echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 22 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update
4145 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 22 'artifact_use_from_x64-tmks' --is-raw-string update
4146 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 22 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4147 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 22 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4148 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 22 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4149 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 22 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
4150 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 22 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4151 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 22 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
4152 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4153 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update
4154 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 22 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
4155 shell: bash
4156 - name: create cargo-nextest cache dir
4157 run: |-
4158 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0
4159 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1
4160 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2
4161 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3
4162 shell: bash
4163 - name: Pre-processing cache vars
4164 run: |-
4165 flowey.exe e 22 flowey_lib_common::cache 0
4166 flowey.exe v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
4167 flowey.exe v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
4168 shell: bash
4169 - id: flowey_lib_common__cache__1
4170 uses: actions/cache@v5
4171 with:
4172 key: ${{ env.floweyvar4 }}
4173 path: ${{ env.floweyvar5 }}
4174 name: 'Restore cache: cargo-nextest'
4175 - name: downloading cargo-nextest
4176 run: |-
4177 flowey.exe v 22 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
4178 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4179 EOF
4180 flowey.exe e 22 flowey_lib_common::cache 2
4181 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 4
4182 shell: bash
4183 - name: check if openvmm needs to be cloned
4184 run: |-
4185 flowey.exe e 22 flowey_lib_common::git_checkout 0
4186 flowey.exe v 22 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
4187 flowey.exe v 22 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
4188 shell: bash
4189 - id: flowey_lib_common__git_checkout__1
4190 uses: actions/checkout@v6
4191 with:
4192 fetch-depth: '1'
4193 path: repo0
4194 persist-credentials: ${{ env.floweyvar3 }}
4195 name: checkout repo openvmm
4196 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4197 - name: report cloned repo directories
4198 run: |-
4199 flowey.exe v 22 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
4200 ${{ github.workspace }}
4201 EOF
4202 flowey.exe e 22 flowey_lib_common::git_checkout 3
4203 flowey.exe e 22 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4204 flowey.exe e 22 flowey_lib_hvlite::run_cargo_nextest_run 0
4205 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 5
4206 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 6
4207 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 1
4208 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 0
4209 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 9
4210 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 2
4211 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 4
4212 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 11
4213 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 12
4214 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 10
4215 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 3
4216 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 8
4217 shell: bash
4218 - name: creating new test content dir
4219 run: flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
4220 shell: bash
4221 - name: resolve OpenHCL igvm artifact
4222 run: flowey.exe e 22 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
4223 shell: bash
4224 - name: create gh-release-download cache dir
4225 run: flowey.exe e 22 flowey_lib_common::download_gh_release 0
4226 shell: bash
4227 - name: Pre-processing cache vars
4228 run: |-
4229 flowey.exe e 22 flowey_lib_common::cache 8
4230 flowey.exe v 22 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
4231 flowey.exe v 22 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
4232 shell: bash
4233 - id: flowey_lib_common__cache__9
4234 uses: actions/cache@v5
4235 with:
4236 key: ${{ env.floweyvar8 }}
4237 path: ${{ env.floweyvar9 }}
4238 name: 'Restore cache: gh-release-download'
4239 - name: download artifacts from github releases
4240 run: |-
4241 flowey.exe v 22 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
4242 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
4243 EOF
4244 flowey.exe e 22 flowey_lib_common::cache 10
4245 flowey.exe e 22 flowey_lib_common::download_gh_release 1
4246 shell: bash
4247 - name: extract azcopy from archive
4248 run: flowey.exe e 22 flowey_lib_common::download_azcopy 0
4249 shell: bash
4250 - name: calculating required VMM tests disk images
4251 run: flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
4252 shell: bash
4253 - name: downloading VMM test disk images
4254 run: |-
4255 flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
4256 flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
4257 shell: bash
4258 - name: create gh cache dir
4259 run: flowey.exe e 22 flowey_lib_common::download_gh_cli 0
4260 shell: bash
4261 - name: Pre-processing cache vars
4262 run: |-
4263 flowey.exe e 22 flowey_lib_common::cache 4
4264 flowey.exe v 22 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
4265 flowey.exe v 22 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
4266 shell: bash
4267 - id: flowey_lib_common__cache__5
4268 uses: actions/cache@v5
4269 with:
4270 key: ${{ env.floweyvar6 }}
4271 path: ${{ env.floweyvar7 }}
4272 name: 'Restore cache: gh-cli'
4273 - name: installing gh
4274 run: |-
4275 flowey.exe v 22 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
4276 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4277 EOF
4278 flowey.exe e 22 flowey_lib_common::cache 6
4279 flowey.exe e 22 flowey_lib_common::download_gh_cli 1
4280 flowey.exe v 22 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
4281 ${{ github.token }}
4282 EOF
4283 shell: bash
4284 - name: setup gh cli
4285 run: flowey.exe e 22 flowey_lib_common::use_gh_cli 0
4286 shell: bash
4287 - name: get latest completed action id
4288 run: flowey.exe e 22 flowey_lib_common::gh_latest_completed_workflow_id 0
4289 shell: bash
4290 - name: download artifacts from github actions run
4291 run: |-
4292 flowey.exe e 22 flowey_lib_common::download_gh_artifact 0
4293 flowey.exe e 22 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4294 shell: bash
4295 - name: unpack openvmm-test-initrd archives
4296 run: flowey.exe e 22 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
4297 shell: bash
4298 - name: unpack openvmm-test-linux archives
4299 run: flowey.exe e 22 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
4300 shell: bash
4301 - name: unpack mu_msvm package (x64)
4302 run: flowey.exe e 22 flowey_lib_hvlite::download_uefi_mu_msvm 0
4303 shell: bash
4304 - name: unpack openvmm-test-virtio-win archive
4305 run: flowey.exe e 22 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0
4306 shell: bash
4307 - name: setting up vmm_tests env
4308 run: |-
4309 flowey.exe e 22 flowey_lib_hvlite::init_vmm_tests_env 0
4310 flowey.exe e 22 flowey_lib_hvlite::run_cargo_nextest_run 1
4311 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 13
4312 flowey.exe e 22 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4313 shell: bash
4314 - name: generate nextest command
4315 run: flowey.exe e 22 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4316 shell: bash
4317 - name: install vmm tests deps (windows)
4318 run: flowey.exe e 22 flowey_lib_hvlite::install_vmm_tests_deps 0
4319 shell: bash
4320 - name: starting test_igvm_agent_rpc_server
4321 run: flowey.exe e 22 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4322 shell: bash
4323 - name: run 'vmm_tests' nextest tests
4324 run: |-
4325 flowey.exe e 22 flowey_lib_common::run_cargo_nextest_run 0
4326 flowey.exe e 22 flowey_lib_common::run_cargo_nextest_run 1
4327 flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4328 shell: bash
4329 - name: stopping test_igvm_agent_rpc_server
4330 run: |-
4331 flowey.exe e 22 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4332 flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4333 flowey.exe e 22 flowey_lib_common::publish_test_results 4
4334 flowey.exe e 22 flowey_lib_common::publish_test_results 5
4335 flowey.exe v 22 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
4336 flowey.exe v 22 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
4337 shell: bash
4338 - id: flowey_lib_common__publish_test_results__6
4339 uses: actions/upload-artifact@v7
4340 with:
4341 name: x64-windows-intel-mi-secure-vmm-tests-logs
4342 path: ${{ env.floweyvar2 }}
4343 name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (logs)'
4344 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4345 - name: 🦀 flowey rust steps
4346 run: |-
4347 flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4348 flowey.exe e 22 flowey_lib_common::publish_test_results 0
4349 flowey.exe e 22 flowey_lib_common::publish_test_results 1
4350 flowey.exe e 22 flowey_lib_common::publish_test_results 2
4351 flowey.exe v 22 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
4352 flowey.exe v 22 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
4353 shell: bash
4354 - id: flowey_lib_common__publish_test_results__3
4355 uses: actions/upload-artifact@v7
4356 with:
4357 name: x64-windows-intel-mi-secure-vmm-tests-junit-xml
4358 path: ${{ env.floweyvar1 }}
4359 name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (JUnit XML)'
4360 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4361 - name: report test results to overall pipeline status
4362 run: flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4363 shell: bash
4364 - name: 'validate cache entry: cargo-nextest'
4365 run: flowey.exe e 22 flowey_lib_common::cache 3
4366 shell: bash
4367 - name: 'validate cache entry: gh-cli'
4368 run: flowey.exe e 22 flowey_lib_common::cache 7
4369 shell: bash
4370 - name: 'validate cache entry: gh-release-download'
4371 run: flowey.exe e 22 flowey_lib_common::cache 11
4372 shell: bash
4373 job23:
4374 name: run vmm-tests [x64-windows-intel-tdx]
4375 runs-on:
4376 - self-hosted
4377 - Windows
4378 - X64
4379 - TDX
4380 - Baremetal
4381 permissions:
4382 contents: read
4383 id-token: write
4384 needs:
4385 - job0
4386 - job12
4387 - job2
4388 - job3
4389 - job7
4390 if: github.event.pull_request.draft == false
4391 steps:
4392 - name: 🌼📦 Download artifacts
4393 uses: actions/download-artifact@v8
4394 with:
4395 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}'
4396 path: ${{ runner.temp }}/used_artifacts/
4397 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4398 shell: bash
4399 name: 🌼📦 Add flowey to PATH
4400 - name: 🌼🛫 Initialize job
4401 run: |
4402 AgentTempDirNormal="${{ runner.temp }}"
4403 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4404 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4405
4406 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4407
4408 echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update
4409 echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update
4410
4411 cat <<'EOF' | flowey.exe v 23 'verbose' update
4412 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4413 EOF
4414 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 23 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4415 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 23 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4416 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 23 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
4417 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 23 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
4418 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
4419 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 23 'artifact_use_from_x64-tmks' --is-raw-string update
4420 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 23 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4421 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 23 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4422 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 23 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4423 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 23 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
4424 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 23 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4425 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 23 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
4426 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4427 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update
4428 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 23 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
4429 shell: bash
4430 - name: create cargo-nextest cache dir
4431 run: |-
4432 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 0
4433 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1
4434 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2
4435 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 3
4436 shell: bash
4437 - name: Pre-processing cache vars
4438 run: |-
4439 flowey.exe e 23 flowey_lib_common::cache 0
4440 flowey.exe v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
4441 flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
4442 shell: bash
4443 - id: flowey_lib_common__cache__1
4444 uses: actions/cache@v5
4445 with:
4446 key: ${{ env.floweyvar4 }}
4447 path: ${{ env.floweyvar5 }}
4448 name: 'Restore cache: cargo-nextest'
4449 - name: downloading cargo-nextest
4450 run: |-
4451 flowey.exe v 23 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
4452 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4453 EOF
4454 flowey.exe e 23 flowey_lib_common::cache 2
4455 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 4
4456 shell: bash
4457 - name: check if openvmm needs to be cloned
4458 run: |-
4459 flowey.exe e 23 flowey_lib_common::git_checkout 0
4460 flowey.exe v 23 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
4461 flowey.exe v 23 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
4462 shell: bash
4463 - id: flowey_lib_common__git_checkout__1
4464 uses: actions/checkout@v6
4465 with:
4466 fetch-depth: '1'
4467 path: repo0
4468 persist-credentials: ${{ env.floweyvar3 }}
4469 name: checkout repo openvmm
4470 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4471 - name: report cloned repo directories
4472 run: |-
4473 flowey.exe v 23 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
4474 ${{ github.workspace }}
4475 EOF
4476 flowey.exe e 23 flowey_lib_common::git_checkout 3
4477 flowey.exe e 23 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4478 flowey.exe e 23 flowey_lib_hvlite::run_cargo_nextest_run 0
4479 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 5
4480 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 6
4481 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 1
4482 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 0
4483 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 9
4484 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 2
4485 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 4
4486 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 11
4487 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 12
4488 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 10
4489 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 3
4490 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 8
4491 shell: bash
4492 - name: creating new test content dir
4493 run: flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
4494 shell: bash
4495 - name: resolve OpenHCL igvm artifact
4496 run: flowey.exe e 23 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
4497 shell: bash
4498 - name: create gh-release-download cache dir
4499 run: flowey.exe e 23 flowey_lib_common::download_gh_release 0
4500 shell: bash
4501 - name: Pre-processing cache vars
4502 run: |-
4503 flowey.exe e 23 flowey_lib_common::cache 8
4504 flowey.exe v 23 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
4505 flowey.exe v 23 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
4506 shell: bash
4507 - id: flowey_lib_common__cache__9
4508 uses: actions/cache@v5
4509 with:
4510 key: ${{ env.floweyvar8 }}
4511 path: ${{ env.floweyvar9 }}
4512 name: 'Restore cache: gh-release-download'
4513 - name: download artifacts from github releases
4514 run: |-
4515 flowey.exe v 23 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
4516 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
4517 EOF
4518 flowey.exe e 23 flowey_lib_common::cache 10
4519 flowey.exe e 23 flowey_lib_common::download_gh_release 1
4520 shell: bash
4521 - name: extract azcopy from archive
4522 run: flowey.exe e 23 flowey_lib_common::download_azcopy 0
4523 shell: bash
4524 - name: calculating required VMM tests disk images
4525 run: flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
4526 shell: bash
4527 - name: downloading VMM test disk images
4528 run: |-
4529 flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
4530 flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
4531 shell: bash
4532 - name: create gh cache dir
4533 run: flowey.exe e 23 flowey_lib_common::download_gh_cli 0
4534 shell: bash
4535 - name: Pre-processing cache vars
4536 run: |-
4537 flowey.exe e 23 flowey_lib_common::cache 4
4538 flowey.exe v 23 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
4539 flowey.exe v 23 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
4540 shell: bash
4541 - id: flowey_lib_common__cache__5
4542 uses: actions/cache@v5
4543 with:
4544 key: ${{ env.floweyvar6 }}
4545 path: ${{ env.floweyvar7 }}
4546 name: 'Restore cache: gh-cli'
4547 - name: installing gh
4548 run: |-
4549 flowey.exe v 23 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
4550 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4551 EOF
4552 flowey.exe e 23 flowey_lib_common::cache 6
4553 flowey.exe e 23 flowey_lib_common::download_gh_cli 1
4554 flowey.exe v 23 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
4555 ${{ github.token }}
4556 EOF
4557 shell: bash
4558 - name: setup gh cli
4559 run: flowey.exe e 23 flowey_lib_common::use_gh_cli 0
4560 shell: bash
4561 - name: get latest completed action id
4562 run: flowey.exe e 23 flowey_lib_common::gh_latest_completed_workflow_id 0
4563 shell: bash
4564 - name: download artifacts from github actions run
4565 run: |-
4566 flowey.exe e 23 flowey_lib_common::download_gh_artifact 0
4567 flowey.exe e 23 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4568 shell: bash
4569 - name: unpack openvmm-test-initrd archives
4570 run: flowey.exe e 23 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
4571 shell: bash
4572 - name: unpack openvmm-test-linux archives
4573 run: flowey.exe e 23 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
4574 shell: bash
4575 - name: unpack mu_msvm package (x64)
4576 run: flowey.exe e 23 flowey_lib_hvlite::download_uefi_mu_msvm 0
4577 shell: bash
4578 - name: unpack openvmm-test-virtio-win archive
4579 run: flowey.exe e 23 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0
4580 shell: bash
4581 - name: setting up vmm_tests env
4582 run: |-
4583 flowey.exe e 23 flowey_lib_hvlite::init_vmm_tests_env 0
4584 flowey.exe e 23 flowey_lib_hvlite::run_cargo_nextest_run 1
4585 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 13
4586 flowey.exe e 23 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4587 shell: bash
4588 - name: generate nextest command
4589 run: flowey.exe e 23 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4590 shell: bash
4591 - name: install vmm tests deps (windows)
4592 run: flowey.exe e 23 flowey_lib_hvlite::install_vmm_tests_deps 0
4593 shell: bash
4594 - name: starting test_igvm_agent_rpc_server
4595 run: |-
4596 flowey.exe e 23 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4597 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 7
4598 shell: bash
4599 - name: running vmm_test prep_steps
4600 run: flowey.exe e 23 flowey_lib_hvlite::run_prep_steps 0
4601 shell: bash
4602 - name: run 'vmm_tests' nextest tests
4603 run: |-
4604 flowey.exe e 23 flowey_lib_common::run_cargo_nextest_run 0
4605 flowey.exe e 23 flowey_lib_common::run_cargo_nextest_run 1
4606 flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4607 shell: bash
4608 - name: stopping test_igvm_agent_rpc_server
4609 run: |-
4610 flowey.exe e 23 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4611 flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4612 flowey.exe e 23 flowey_lib_common::publish_test_results 4
4613 flowey.exe e 23 flowey_lib_common::publish_test_results 5
4614 flowey.exe v 23 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
4615 flowey.exe v 23 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
4616 shell: bash
4617 - id: flowey_lib_common__publish_test_results__6
4618 uses: actions/upload-artifact@v7
4619 with:
4620 name: x64-windows-intel-tdx-vmm-tests-logs
4621 path: ${{ env.floweyvar2 }}
4622 name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)'
4623 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4624 - name: 🦀 flowey rust steps
4625 run: |-
4626 flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4627 flowey.exe e 23 flowey_lib_common::publish_test_results 0
4628 flowey.exe e 23 flowey_lib_common::publish_test_results 1
4629 flowey.exe e 23 flowey_lib_common::publish_test_results 2
4630 flowey.exe v 23 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
4631 flowey.exe v 23 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
4632 shell: bash
4633 - id: flowey_lib_common__publish_test_results__3
4634 uses: actions/upload-artifact@v7
4635 with:
4636 name: x64-windows-intel-tdx-vmm-tests-junit-xml
4637 path: ${{ env.floweyvar1 }}
4638 name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)'
4639 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4640 - name: report test results to overall pipeline status
4641 run: flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4642 shell: bash
4643 - name: 'validate cache entry: cargo-nextest'
4644 run: flowey.exe e 23 flowey_lib_common::cache 3
4645 shell: bash
4646 - name: 'validate cache entry: gh-cli'
4647 run: flowey.exe e 23 flowey_lib_common::cache 7
4648 shell: bash
4649 - name: 'validate cache entry: gh-release-download'
4650 run: flowey.exe e 23 flowey_lib_common::cache 11
4651 shell: bash
4652 job24:
4653 name: run vmm-tests [x64-windows-amd]
4654 runs-on:
4655 - self-hosted
4656 - 1ES.Pool=openvmm-gh-amd-westus3
4657 - 1ES.ImageOverride=win-amd64
4658 - JobId=job24-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
4659 permissions:
4660 contents: read
4661 id-token: write
4662 needs:
4663 - job0
4664 - job12
4665 - job2
4666 - job3
4667 - job7
4668 if: github.event.pull_request.draft == false
4669 steps:
4670 - name: 🌼📦 Download artifacts
4671 uses: actions/download-artifact@v8
4672 with:
4673 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}'
4674 path: ${{ runner.temp }}/used_artifacts/
4675 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4676 shell: bash
4677 name: 🌼📦 Add flowey to PATH
4678 - name: 🌼🛫 Initialize job
4679 run: |
4680 AgentTempDirNormal="${{ runner.temp }}"
4681 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4682 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4683
4684 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4685
4686 echo '"debug"' | flowey.exe v 24 'FLOWEY_LOG' update
4687 echo "${{ runner.temp }}/work" | flowey.exe v 24 '_internal_WORKING_DIR' --is-raw-string update
4688
4689 cat <<'EOF' | flowey.exe v 24 'verbose' update
4690 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4691 EOF
4692 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 24 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4693 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 24 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4694 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
4695 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
4696 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 24 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
4697 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 24 'artifact_use_from_x64-tmks' --is-raw-string update
4698 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 24 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4699 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 24 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4700 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 24 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4701 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
4702 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 24 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4703 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
4704 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 24 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4705 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 24 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update
4706 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
4707 shell: bash
4708 - name: create cargo-nextest cache dir
4709 run: |-
4710 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 0
4711 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 1
4712 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 2
4713 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 3
4714 shell: bash
4715 - name: Pre-processing cache vars
4716 run: |-
4717 flowey.exe e 24 flowey_lib_common::cache 0
4718 flowey.exe v 24 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
4719 flowey.exe v 24 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
4720 shell: bash
4721 - id: flowey_lib_common__cache__1
4722 uses: actions/cache@v5
4723 with:
4724 key: ${{ env.floweyvar4 }}
4725 path: ${{ env.floweyvar5 }}
4726 name: 'Restore cache: cargo-nextest'
4727 - name: downloading cargo-nextest
4728 run: |-
4729 flowey.exe v 24 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
4730 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4731 EOF
4732 flowey.exe e 24 flowey_lib_common::cache 2
4733 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 4
4734 shell: bash
4735 - name: check if openvmm needs to be cloned
4736 run: |-
4737 flowey.exe e 24 flowey_lib_common::git_checkout 0
4738 flowey.exe v 24 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
4739 flowey.exe v 24 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
4740 shell: bash
4741 - id: flowey_lib_common__git_checkout__1
4742 uses: actions/checkout@v6
4743 with:
4744 fetch-depth: '1'
4745 path: repo0
4746 persist-credentials: ${{ env.floweyvar3 }}
4747 name: checkout repo openvmm
4748 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4749 - name: report cloned repo directories
4750 run: |-
4751 flowey.exe v 24 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
4752 ${{ github.workspace }}
4753 EOF
4754 flowey.exe e 24 flowey_lib_common::git_checkout 3
4755 flowey.exe e 24 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4756 flowey.exe e 24 flowey_lib_hvlite::run_cargo_nextest_run 0
4757 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 5
4758 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 6
4759 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 1
4760 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 0
4761 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 9
4762 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 2
4763 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 4
4764 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 11
4765 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 12
4766 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 10
4767 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 3
4768 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 8
4769 shell: bash
4770 - name: creating new test content dir
4771 run: flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
4772 shell: bash
4773 - name: resolve OpenHCL igvm artifact
4774 run: flowey.exe e 24 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
4775 shell: bash
4776 - name: create gh-release-download cache dir
4777 run: flowey.exe e 24 flowey_lib_common::download_gh_release 0
4778 shell: bash
4779 - name: Pre-processing cache vars
4780 run: |-
4781 flowey.exe e 24 flowey_lib_common::cache 8
4782 flowey.exe v 24 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
4783 flowey.exe v 24 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
4784 shell: bash
4785 - id: flowey_lib_common__cache__9
4786 uses: actions/cache@v5
4787 with:
4788 key: ${{ env.floweyvar8 }}
4789 path: ${{ env.floweyvar9 }}
4790 name: 'Restore cache: gh-release-download'
4791 - name: download artifacts from github releases
4792 run: |-
4793 flowey.exe v 24 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
4794 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
4795 EOF
4796 flowey.exe e 24 flowey_lib_common::cache 10
4797 flowey.exe e 24 flowey_lib_common::download_gh_release 1
4798 shell: bash
4799 - name: extract azcopy from archive
4800 run: flowey.exe e 24 flowey_lib_common::download_azcopy 0
4801 shell: bash
4802 - name: calculating required VMM tests disk images
4803 run: flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
4804 shell: bash
4805 - name: downloading VMM test disk images
4806 run: |-
4807 flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
4808 flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
4809 shell: bash
4810 - name: create gh cache dir
4811 run: flowey.exe e 24 flowey_lib_common::download_gh_cli 0
4812 shell: bash
4813 - name: Pre-processing cache vars
4814 run: |-
4815 flowey.exe e 24 flowey_lib_common::cache 4
4816 flowey.exe v 24 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
4817 flowey.exe v 24 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
4818 shell: bash
4819 - id: flowey_lib_common__cache__5
4820 uses: actions/cache@v5
4821 with:
4822 key: ${{ env.floweyvar6 }}
4823 path: ${{ env.floweyvar7 }}
4824 name: 'Restore cache: gh-cli'
4825 - name: installing gh
4826 run: |-
4827 flowey.exe v 24 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
4828 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4829 EOF
4830 flowey.exe e 24 flowey_lib_common::cache 6
4831 flowey.exe e 24 flowey_lib_common::download_gh_cli 1
4832 flowey.exe v 24 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
4833 ${{ github.token }}
4834 EOF
4835 shell: bash
4836 - name: setup gh cli
4837 run: flowey.exe e 24 flowey_lib_common::use_gh_cli 0
4838 shell: bash
4839 - name: get latest completed action id
4840 run: flowey.exe e 24 flowey_lib_common::gh_latest_completed_workflow_id 0
4841 shell: bash
4842 - name: download artifacts from github actions run
4843 run: |-
4844 flowey.exe e 24 flowey_lib_common::download_gh_artifact 0
4845 flowey.exe e 24 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4846 shell: bash
4847 - name: unpack openvmm-test-initrd archives
4848 run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
4849 shell: bash
4850 - name: unpack openvmm-test-linux archives
4851 run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
4852 shell: bash
4853 - name: unpack mu_msvm package (x64)
4854 run: flowey.exe e 24 flowey_lib_hvlite::download_uefi_mu_msvm 0
4855 shell: bash
4856 - name: unpack openvmm-test-virtio-win archive
4857 run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0
4858 shell: bash
4859 - name: setting up vmm_tests env
4860 run: |-
4861 flowey.exe e 24 flowey_lib_hvlite::init_vmm_tests_env 0
4862 flowey.exe e 24 flowey_lib_hvlite::run_cargo_nextest_run 1
4863 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 13
4864 flowey.exe e 24 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4865 shell: bash
4866 - name: generate nextest command
4867 run: flowey.exe e 24 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4868 shell: bash
4869 - name: install vmm tests deps (windows)
4870 run: flowey.exe e 24 flowey_lib_hvlite::install_vmm_tests_deps 0
4871 shell: bash
4872 - name: starting test_igvm_agent_rpc_server
4873 run: |-
4874 flowey.exe e 24 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4875 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 7
4876 shell: bash
4877 - name: running vmm_test prep_steps
4878 run: flowey.exe e 24 flowey_lib_hvlite::run_prep_steps 0
4879 shell: bash
4880 - name: run 'vmm_tests' nextest tests
4881 run: |-
4882 flowey.exe e 24 flowey_lib_common::run_cargo_nextest_run 0
4883 flowey.exe e 24 flowey_lib_common::run_cargo_nextest_run 1
4884 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4885 shell: bash
4886 - name: stopping test_igvm_agent_rpc_server
4887 run: |-
4888 flowey.exe e 24 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4889 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4890 flowey.exe e 24 flowey_lib_common::publish_test_results 4
4891 flowey.exe e 24 flowey_lib_common::publish_test_results 5
4892 flowey.exe v 24 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
4893 flowey.exe v 24 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
4894 shell: bash
4895 - id: flowey_lib_common__publish_test_results__6
4896 uses: actions/upload-artifact@v7
4897 with:
4898 name: x64-windows-amd-vmm-tests-logs
4899 path: ${{ env.floweyvar2 }}
4900 name: 'publish test results: x64-windows-amd-vmm-tests (logs)'
4901 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4902 - name: 🦀 flowey rust steps
4903 run: |-
4904 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4905 flowey.exe e 24 flowey_lib_common::publish_test_results 0
4906 flowey.exe e 24 flowey_lib_common::publish_test_results 1
4907 flowey.exe e 24 flowey_lib_common::publish_test_results 2
4908 flowey.exe v 24 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
4909 flowey.exe v 24 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
4910 shell: bash
4911 - id: flowey_lib_common__publish_test_results__3
4912 uses: actions/upload-artifact@v7
4913 with:
4914 name: x64-windows-amd-vmm-tests-junit-xml
4915 path: ${{ env.floweyvar1 }}
4916 name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)'
4917 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4918 - name: report test results to overall pipeline status
4919 run: flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4920 shell: bash
4921 - name: 'validate cache entry: cargo-nextest'
4922 run: flowey.exe e 24 flowey_lib_common::cache 3
4923 shell: bash
4924 - name: 'validate cache entry: gh-cli'
4925 run: flowey.exe e 24 flowey_lib_common::cache 7
4926 shell: bash
4927 - name: 'validate cache entry: gh-release-download'
4928 run: flowey.exe e 24 flowey_lib_common::cache 11
4929 shell: bash
4930 job25:
4931 name: run vmm-tests [x64-windows-amd-snp]
4932 runs-on:
4933 - self-hosted
4934 - Windows
4935 - X64
4936 - SNP
4937 - Baremetal
4938 permissions:
4939 contents: read
4940 id-token: write
4941 needs:
4942 - job0
4943 - job12
4944 - job2
4945 - job3
4946 - job7
4947 if: github.event.pull_request.draft == false
4948 steps:
4949 - name: 🌼📦 Download artifacts
4950 uses: actions/download-artifact@v8
4951 with:
4952 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}'
4953 path: ${{ runner.temp }}/used_artifacts/
4954 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4955 shell: bash
4956 name: 🌼📦 Add flowey to PATH
4957 - name: 🌼🛫 Initialize job
4958 run: |
4959 AgentTempDirNormal="${{ runner.temp }}"
4960 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4961 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4962
4963 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4964
4965 echo '"debug"' | flowey.exe v 25 'FLOWEY_LOG' update
4966 echo "${{ runner.temp }}/work" | flowey.exe v 25 '_internal_WORKING_DIR' --is-raw-string update
4967
4968 cat <<'EOF' | flowey.exe v 25 'verbose' update
4969 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4970 EOF
4971 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 25 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4972 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 25 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4973 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
4974 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
4975 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 25 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
4976 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 25 'artifact_use_from_x64-tmks' --is-raw-string update
4977 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 25 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4978 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 25 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4979 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 25 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4980 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
4981 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 25 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4982 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
4983 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 25 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4984 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 25 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update
4985 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
4986 shell: bash
4987 - name: create cargo-nextest cache dir
4988 run: |-
4989 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 0
4990 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 1
4991 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 2
4992 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 3
4993 shell: bash
4994 - name: Pre-processing cache vars
4995 run: |-
4996 flowey.exe e 25 flowey_lib_common::cache 0
4997 flowey.exe v 25 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
4998 flowey.exe v 25 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
4999 shell: bash
5000 - id: flowey_lib_common__cache__1
5001 uses: actions/cache@v5
5002 with:
5003 key: ${{ env.floweyvar4 }}
5004 path: ${{ env.floweyvar5 }}
5005 name: 'Restore cache: cargo-nextest'
5006 - name: downloading cargo-nextest
5007 run: |-
5008 flowey.exe v 25 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
5009 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5010 EOF
5011 flowey.exe e 25 flowey_lib_common::cache 2
5012 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 4
5013 shell: bash
5014 - name: check if openvmm needs to be cloned
5015 run: |-
5016 flowey.exe e 25 flowey_lib_common::git_checkout 0
5017 flowey.exe v 25 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
5018 flowey.exe v 25 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
5019 shell: bash
5020 - id: flowey_lib_common__git_checkout__1
5021 uses: actions/checkout@v6
5022 with:
5023 fetch-depth: '1'
5024 path: repo0
5025 persist-credentials: ${{ env.floweyvar3 }}
5026 name: checkout repo openvmm
5027 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5028 - name: report cloned repo directories
5029 run: |-
5030 flowey.exe v 25 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
5031 ${{ github.workspace }}
5032 EOF
5033 flowey.exe e 25 flowey_lib_common::git_checkout 3
5034 flowey.exe e 25 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5035 flowey.exe e 25 flowey_lib_hvlite::run_cargo_nextest_run 0
5036 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 5
5037 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 6
5038 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 1
5039 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 0
5040 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 9
5041 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 2
5042 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 4
5043 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 11
5044 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 12
5045 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 10
5046 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 3
5047 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 8
5048 shell: bash
5049 - name: creating new test content dir
5050 run: flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
5051 shell: bash
5052 - name: resolve OpenHCL igvm artifact
5053 run: flowey.exe e 25 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
5054 shell: bash
5055 - name: create gh-release-download cache dir
5056 run: flowey.exe e 25 flowey_lib_common::download_gh_release 0
5057 shell: bash
5058 - name: Pre-processing cache vars
5059 run: |-
5060 flowey.exe e 25 flowey_lib_common::cache 8
5061 flowey.exe v 25 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
5062 flowey.exe v 25 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
5063 shell: bash
5064 - id: flowey_lib_common__cache__9
5065 uses: actions/cache@v5
5066 with:
5067 key: ${{ env.floweyvar8 }}
5068 path: ${{ env.floweyvar9 }}
5069 name: 'Restore cache: gh-release-download'
5070 - name: download artifacts from github releases
5071 run: |-
5072 flowey.exe v 25 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
5073 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
5074 EOF
5075 flowey.exe e 25 flowey_lib_common::cache 10
5076 flowey.exe e 25 flowey_lib_common::download_gh_release 1
5077 shell: bash
5078 - name: extract azcopy from archive
5079 run: flowey.exe e 25 flowey_lib_common::download_azcopy 0
5080 shell: bash
5081 - name: calculating required VMM tests disk images
5082 run: flowey.exe e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
5083 shell: bash
5084 - name: downloading VMM test disk images
5085 run: |-
5086 flowey.exe e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
5087 flowey.exe e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
5088 shell: bash
5089 - name: create gh cache dir
5090 run: flowey.exe e 25 flowey_lib_common::download_gh_cli 0
5091 shell: bash
5092 - name: Pre-processing cache vars
5093 run: |-
5094 flowey.exe e 25 flowey_lib_common::cache 4
5095 flowey.exe v 25 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
5096 flowey.exe v 25 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
5097 shell: bash
5098 - id: flowey_lib_common__cache__5
5099 uses: actions/cache@v5
5100 with:
5101 key: ${{ env.floweyvar6 }}
5102 path: ${{ env.floweyvar7 }}
5103 name: 'Restore cache: gh-cli'
5104 - name: installing gh
5105 run: |-
5106 flowey.exe v 25 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
5107 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
5108 EOF
5109 flowey.exe e 25 flowey_lib_common::cache 6
5110 flowey.exe e 25 flowey_lib_common::download_gh_cli 1
5111 flowey.exe v 25 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
5112 ${{ github.token }}
5113 EOF
5114 shell: bash
5115 - name: setup gh cli
5116 run: flowey.exe e 25 flowey_lib_common::use_gh_cli 0
5117 shell: bash
5118 - name: get latest completed action id
5119 run: flowey.exe e 25 flowey_lib_common::gh_latest_completed_workflow_id 0
5120 shell: bash
5121 - name: download artifacts from github actions run
5122 run: |-
5123 flowey.exe e 25 flowey_lib_common::download_gh_artifact 0
5124 flowey.exe e 25 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
5125 shell: bash
5126 - name: unpack openvmm-test-initrd archives
5127 run: flowey.exe e 25 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
5128 shell: bash
5129 - name: unpack openvmm-test-linux archives
5130 run: flowey.exe e 25 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
5131 shell: bash
5132 - name: unpack mu_msvm package (x64)
5133 run: flowey.exe e 25 flowey_lib_hvlite::download_uefi_mu_msvm 0
5134 shell: bash
5135 - name: unpack openvmm-test-virtio-win archive
5136 run: flowey.exe e 25 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0
5137 shell: bash
5138 - name: setting up vmm_tests env
5139 run: |-
5140 flowey.exe e 25 flowey_lib_hvlite::init_vmm_tests_env 0
5141 flowey.exe e 25 flowey_lib_hvlite::run_cargo_nextest_run 1
5142 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 13
5143 flowey.exe e 25 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
5144 shell: bash
5145 - name: generate nextest command
5146 run: flowey.exe e 25 flowey_lib_common::gen_cargo_nextest_run_cmd 0
5147 shell: bash
5148 - name: install vmm tests deps (windows)
5149 run: flowey.exe e 25 flowey_lib_hvlite::install_vmm_tests_deps 0
5150 shell: bash
5151 - name: starting test_igvm_agent_rpc_server
5152 run: |-
5153 flowey.exe e 25 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
5154 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 7
5155 shell: bash
5156 - name: running vmm_test prep_steps
5157 run: flowey.exe e 25 flowey_lib_hvlite::run_prep_steps 0
5158 shell: bash
5159 - name: run 'vmm_tests' nextest tests
5160 run: |-
5161 flowey.exe e 25 flowey_lib_common::run_cargo_nextest_run 0
5162 flowey.exe e 25 flowey_lib_common::run_cargo_nextest_run 1
5163 flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
5164 shell: bash
5165 - name: stopping test_igvm_agent_rpc_server
5166 run: |-
5167 flowey.exe e 25 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
5168 flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
5169 flowey.exe e 25 flowey_lib_common::publish_test_results 4
5170 flowey.exe e 25 flowey_lib_common::publish_test_results 5
5171 flowey.exe v 25 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
5172 flowey.exe v 25 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
5173 shell: bash
5174 - id: flowey_lib_common__publish_test_results__6
5175 uses: actions/upload-artifact@v7
5176 with:
5177 name: x64-windows-amd-snp-vmm-tests-logs
5178 path: ${{ env.floweyvar2 }}
5179 name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)'
5180 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5181 - name: 🦀 flowey rust steps
5182 run: |-
5183 flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
5184 flowey.exe e 25 flowey_lib_common::publish_test_results 0
5185 flowey.exe e 25 flowey_lib_common::publish_test_results 1
5186 flowey.exe e 25 flowey_lib_common::publish_test_results 2
5187 flowey.exe v 25 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
5188 flowey.exe v 25 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
5189 shell: bash
5190 - id: flowey_lib_common__publish_test_results__3
5191 uses: actions/upload-artifact@v7
5192 with:
5193 name: x64-windows-amd-snp-vmm-tests-junit-xml
5194 path: ${{ env.floweyvar1 }}
5195 name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)'
5196 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5197 - name: report test results to overall pipeline status
5198 run: flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
5199 shell: bash
5200 - name: 'validate cache entry: cargo-nextest'
5201 run: flowey.exe e 25 flowey_lib_common::cache 3
5202 shell: bash
5203 - name: 'validate cache entry: gh-cli'
5204 run: flowey.exe e 25 flowey_lib_common::cache 7
5205 shell: bash
5206 - name: 'validate cache entry: gh-release-download'
5207 run: flowey.exe e 25 flowey_lib_common::cache 11
5208 shell: bash
5209 job26:
5210 name: run vmm-tests [x64-linux-amd-kvm]
5211 runs-on:
5212 - self-hosted
5213 - 1ES.Pool=openvmm-gh-amd-westus3
5214 - 1ES.ImageOverride=ubuntu2404-amd64
5215 - JobId=job26-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
5216 permissions:
5217 contents: read
5218 id-token: write
5219 needs:
5220 - job0
5221 - job2
5222 - job3
5223 - job9
5224 if: github.event.pull_request.draft == false
5225 steps:
5226 - name: 🌼📦 Download artifacts
5227 uses: actions/download-artifact@v8
5228 with:
5229 pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-1,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-openvmm,x64-linux-openvmm_vhost,x64-linux-prep_steps,x64-linux-vmm-tests-archive,x64-tmks,x64-windows-pipette}'
5230 path: ${{ runner.temp }}/used_artifacts/
5231 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
5232 shell: bash
5233 name: 🌼📦 Add flowey to PATH
5234 - name: 🌼🛫 Initialize job
5235 run: |
5236 AgentTempDirNormal="${{ runner.temp }}"
5237 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5238 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5239
5240 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
5241
5242 echo '"debug"' | flowey v 26 'FLOWEY_LOG' update
5243 echo "${{ runner.temp }}/work" | flowey v 26 '_internal_WORKING_DIR' --is-raw-string update
5244
5245 cat <<'EOF' | flowey v 26 'verbose' update
5246 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5247 EOF
5248 echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 26 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
5249 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 26 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
5250 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 26 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
5251 echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 26 'artifact_use_from_x64-linux-openvmm' --is-raw-string update
5252 echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm_vhost" | flowey v 26 'artifact_use_from_x64-linux-openvmm_vhost' --is-raw-string update
5253 echo "$AgentTempDirNormal/used_artifacts/x64-linux-prep_steps" | flowey v 26 'artifact_use_from_x64-linux-prep_steps' --is-raw-string update
5254 echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 26 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update
5255 echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 26 'artifact_use_from_x64-tmks' --is-raw-string update
5256 echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 26 'artifact_use_from_x64-windows-pipette' --is-raw-string update
5257 shell: bash
5258 - name: creating new test content dir
5259 run: |-
5260 flowey e 26 flowey_core::pipeline::artifact::resolve 3
5261 flowey e 26 flowey_core::pipeline::artifact::resolve 4
5262 flowey e 26 flowey_core::pipeline::artifact::resolve 8
5263 flowey e 26 flowey_core::pipeline::artifact::resolve 1
5264 flowey e 26 flowey_core::pipeline::artifact::resolve 0
5265 flowey e 26 flowey_core::pipeline::artifact::resolve 2
5266 flowey e 26 flowey_core::pipeline::artifact::resolve 7
5267 flowey e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
5268 shell: bash
5269 - name: checking if packages need to be installed
5270 run: flowey e 26 flowey_lib_common::install_dist_pkg 0
5271 shell: bash
5272 - name: installing packages
5273 run: flowey e 26 flowey_lib_common::install_dist_pkg 1
5274 shell: bash
5275 - name: create gh-release-download cache dir
5276 run: flowey e 26 flowey_lib_common::download_gh_release 0
5277 shell: bash
5278 - name: Pre-processing cache vars
5279 run: |-
5280 flowey e 26 flowey_lib_common::cache 8
5281 flowey v 26 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
5282 flowey v 26 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
5283 shell: bash
5284 - id: flowey_lib_common__cache__9
5285 uses: actions/cache@v5
5286 with:
5287 key: ${{ env.floweyvar8 }}
5288 path: ${{ env.floweyvar9 }}
5289 name: 'Restore cache: gh-release-download'
5290 - name: download artifacts from github releases
5291 run: |-
5292 flowey v 26 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
5293 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
5294 EOF
5295 flowey e 26 flowey_lib_common::cache 10
5296 flowey e 26 flowey_lib_common::download_gh_release 1
5297 shell: bash
5298 - name: extract azcopy from archive
5299 run: flowey e 26 flowey_lib_common::download_azcopy 0
5300 shell: bash
5301 - name: calculating required VMM tests disk images
5302 run: flowey e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
5303 shell: bash
5304 - name: downloading VMM test disk images
5305 run: |-
5306 flowey e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
5307 flowey e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
5308 shell: bash
5309 - name: create gh cache dir
5310 run: flowey e 26 flowey_lib_common::download_gh_cli 0
5311 shell: bash
5312 - name: Pre-processing cache vars
5313 run: |-
5314 flowey e 26 flowey_lib_common::cache 4
5315 flowey v 26 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
5316 flowey v 26 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
5317 shell: bash
5318 - id: flowey_lib_common__cache__5
5319 uses: actions/cache@v5
5320 with:
5321 key: ${{ env.floweyvar6 }}
5322 path: ${{ env.floweyvar7 }}
5323 name: 'Restore cache: gh-cli'
5324 - name: installing gh
5325 run: |-
5326 flowey v 26 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
5327 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
5328 EOF
5329 flowey e 26 flowey_lib_common::cache 6
5330 flowey e 26 flowey_lib_common::download_gh_cli 1
5331 flowey v 26 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
5332 ${{ github.token }}
5333 EOF
5334 shell: bash
5335 - name: setup gh cli
5336 run: flowey e 26 flowey_lib_common::use_gh_cli 0
5337 shell: bash
5338 - name: get latest completed action id
5339 run: flowey e 26 flowey_lib_common::gh_latest_completed_workflow_id 0
5340 shell: bash
5341 - name: download artifacts from github actions run
5342 run: |-
5343 flowey e 26 flowey_lib_common::download_gh_artifact 0
5344 flowey e 26 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
5345 shell: bash
5346 - name: unpack openvmm-test-initrd archives
5347 run: flowey e 26 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
5348 shell: bash
5349 - name: unpack openvmm-test-linux archives
5350 run: flowey e 26 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
5351 shell: bash
5352 - name: unpack mu_msvm package (x64)
5353 run: flowey e 26 flowey_lib_hvlite::download_uefi_mu_msvm 0
5354 shell: bash
5355 - name: unpack openvmm-test-virtio-win archive
5356 run: flowey e 26 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0
5357 shell: bash
5358 - name: setting up vmm_tests env
5359 run: flowey e 26 flowey_lib_hvlite::init_vmm_tests_env 0
5360 shell: bash
5361 - name: ensure hypervisor device is accessible
5362 run: flowey e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1
5363 shell: bash
5364 - name: ensure 2 MiB hugetlb pages are available
5365 run: flowey e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 2
5366 shell: bash
5367 - name: create cargo-nextest cache dir
5368 run: |-
5369 flowey e 26 flowey_lib_common::download_cargo_nextest 0
5370 flowey e 26 flowey_lib_common::download_cargo_nextest 1
5371 flowey e 26 flowey_lib_common::download_cargo_nextest 2
5372 flowey e 26 flowey_lib_common::download_cargo_nextest 3
5373 shell: bash
5374 - name: Pre-processing cache vars
5375 run: |-
5376 flowey e 26 flowey_lib_common::cache 0
5377 flowey v 26 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
5378 flowey v 26 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
5379 shell: bash
5380 - id: flowey_lib_common__cache__1
5381 uses: actions/cache@v5
5382 with:
5383 key: ${{ env.floweyvar4 }}
5384 path: ${{ env.floweyvar5 }}
5385 name: 'Restore cache: cargo-nextest'
5386 - name: downloading cargo-nextest
5387 run: |-
5388 flowey v 26 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
5389 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5390 EOF
5391 flowey e 26 flowey_lib_common::cache 2
5392 flowey e 26 flowey_lib_common::download_cargo_nextest 4
5393 shell: bash
5394 - name: check if openvmm needs to be cloned
5395 run: |-
5396 flowey e 26 flowey_lib_common::git_checkout 0
5397 flowey v 26 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
5398 flowey v 26 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
5399 shell: bash
5400 - id: flowey_lib_common__git_checkout__1
5401 uses: actions/checkout@v6
5402 with:
5403 fetch-depth: '1'
5404 path: repo0
5405 persist-credentials: ${{ env.floweyvar3 }}
5406 name: checkout repo openvmm
5407 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5408 - name: report cloned repo directories
5409 run: |-
5410 flowey v 26 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
5411 ${{ github.workspace }}
5412 EOF
5413 flowey e 26 flowey_lib_common::git_checkout 3
5414 flowey e 26 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5415 flowey e 26 flowey_lib_hvlite::run_cargo_nextest_run 0
5416 flowey e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
5417 flowey e 26 flowey_lib_hvlite::run_cargo_nextest_run 1
5418 flowey e 26 flowey_core::pipeline::artifact::resolve 6
5419 flowey e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 3
5420 shell: bash
5421 - name: generate nextest command
5422 run: flowey e 26 flowey_lib_common::gen_cargo_nextest_run_cmd 0
5423 shell: bash
5424 - name: install vmm tests deps (linux)
5425 run: |-
5426 flowey e 26 flowey_lib_hvlite::install_vmm_tests_deps 0
5427 flowey e 26 flowey_core::pipeline::artifact::resolve 5
5428 shell: bash
5429 - name: running vmm_test prep_steps
5430 run: flowey e 26 flowey_lib_hvlite::run_prep_steps 0
5431 shell: bash
5432 - name: run 'vmm_tests' nextest tests
5433 run: |-
5434 flowey e 26 flowey_lib_common::run_cargo_nextest_run 0
5435 flowey e 26 flowey_lib_common::run_cargo_nextest_run 1
5436 flowey e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
5437 flowey e 26 flowey_lib_common::publish_test_results 4
5438 flowey e 26 flowey_lib_common::publish_test_results 5
5439 flowey v 26 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
5440 flowey v 26 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
5441 shell: bash
5442 - id: flowey_lib_common__publish_test_results__6
5443 uses: actions/upload-artifact@v7
5444 with:
5445 name: x64-linux-amd-kvm-vmm-tests-logs
5446 path: ${{ env.floweyvar2 }}
5447 name: 'publish test results: x64-linux-amd-kvm-vmm-tests (logs)'
5448 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5449 - name: 🦀 flowey rust steps
5450 run: |-
5451 flowey e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
5452 flowey e 26 flowey_lib_common::publish_test_results 0
5453 flowey e 26 flowey_lib_common::publish_test_results 1
5454 flowey e 26 flowey_lib_common::publish_test_results 2
5455 flowey v 26 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
5456 flowey v 26 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
5457 shell: bash
5458 - id: flowey_lib_common__publish_test_results__3
5459 uses: actions/upload-artifact@v7
5460 with:
5461 name: x64-linux-amd-kvm-vmm-tests-junit-xml
5462 path: ${{ env.floweyvar1 }}
5463 name: 'publish test results: x64-linux-amd-kvm-vmm-tests (JUnit XML)'
5464 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5465 - name: report test results to overall pipeline status
5466 run: flowey e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
5467 shell: bash
5468 - name: 'validate cache entry: cargo-nextest'
5469 run: flowey e 26 flowey_lib_common::cache 3
5470 shell: bash
5471 - name: 'validate cache entry: gh-cli'
5472 run: flowey e 26 flowey_lib_common::cache 7
5473 shell: bash
5474 - name: 'validate cache entry: gh-release-download'
5475 run: flowey e 26 flowey_lib_common::cache 11
5476 shell: bash
5477 job27:
5478 name: run vmm-tests [x64-linux-intel-mshv]
5479 runs-on:
5480 - self-hosted
5481 - 1ES.Pool=openvmm-gh-intel-westus3
5482 - 1ES.ImageOverride=azurelinux3-amd64-dom0
5483 - JobId=job27-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
5484 permissions:
5485 contents: read
5486 id-token: write
5487 needs:
5488 - job0
5489 - job2
5490 - job3
5491 - job9
5492 if: github.event.pull_request.draft == false
5493 steps:
5494 - run: |
5495 set -x
5496 sudo tdnf install -y gcc glibc-devel
5497 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
5498 . "$HOME/.cargo/env"
5499 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
5500 rustup show
5501 if: runner.os == 'Linux'
5502 name: rustup (Linux)
5503 shell: bash
5504 - run: |
5505 set -x
5506 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
5507 ./rustup-init.exe -y --default-toolchain=1.95.0
5508 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
5509 if: runner.os == 'Windows' && runner.arch == 'X64'
5510 name: rustup (Windows X64)
5511 shell: bash
5512 - run: |
5513 set -x
5514 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
5515 ./rustup-init.exe -y --default-toolchain=1.95.0
5516 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
5517 if: runner.os == 'Windows' && runner.arch == 'ARM64'
5518 name: rustup (Windows ARM64)
5519 shell: bash
5520 - uses: actions/checkout@v6
5521 with:
5522 path: flowey_bootstrap
5523 - name: Build flowey
5524 run: |
5525 set -x
5526 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci
5527 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5528 mkdir -p "$OutDirNormal"
5529 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
5530 mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
5531 working-directory: flowey_bootstrap
5532 shell: bash
5533 - name: 🌼📦 Download artifacts
5534 uses: actions/download-artifact@v8
5535 with:
5536 pattern: '{x64-guest_test_uefi,x64-linux-musl-openvmm,x64-linux-musl-openvmm_vhost,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-musl-vmm-tests-archive,x64-linux-prep_steps,x64-tmks,x64-windows-pipette}'
5537 path: ${{ runner.temp }}/used_artifacts/
5538 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
5539 shell: bash
5540 name: 🌼📦 Add flowey to PATH
5541 - name: 🌼🔎 Self-check YAML
5542 run: |-
5543 ESCAPED_AGENT_TEMPDIR=$(
5544 cat <<'EOF' | sed 's/\\/\\\\/g'
5545 ${{ runner.temp }}
5546 EOF
5547 )
5548 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
5549 shell: bash
5550 - name: 🌼🛫 Initialize job
5551 run: |
5552 AgentTempDirNormal="${{ runner.temp }}"
5553 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5554 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5555
5556 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
5557
5558 echo '"debug"' | flowey v 27 'FLOWEY_LOG' update
5559 echo "${{ runner.temp }}/work" | flowey v 27 '_internal_WORKING_DIR' --is-raw-string update
5560
5561 cat <<'EOF' | flowey v 27 'verbose' update
5562 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5563 EOF
5564 echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 27 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
5565 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 27 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update
5566 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 27 'artifact_use_from_x64-linux-musl-openvmm_vhost' --is-raw-string update
5567 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 27 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
5568 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 27 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
5569 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 27 'artifact_use_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update
5570 echo "$AgentTempDirNormal/used_artifacts/x64-linux-prep_steps" | flowey v 27 'artifact_use_from_x64-linux-prep_steps' --is-raw-string update
5571 echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 27 'artifact_use_from_x64-tmks' --is-raw-string update
5572 echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 27 'artifact_use_from_x64-windows-pipette' --is-raw-string update
5573 shell: bash
5574 - name: creating new test content dir
5575 run: |-
5576 flowey e 27 flowey_core::pipeline::artifact::resolve 1
5577 flowey e 27 flowey_core::pipeline::artifact::resolve 2
5578 flowey e 27 flowey_core::pipeline::artifact::resolve 8
5579 flowey e 27 flowey_core::pipeline::artifact::resolve 3
5580 flowey e 27 flowey_core::pipeline::artifact::resolve 0
5581 flowey e 27 flowey_core::pipeline::artifact::resolve 4
5582 flowey e 27 flowey_core::pipeline::artifact::resolve 7
5583 flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
5584 shell: bash
5585 - name: checking if packages need to be installed
5586 run: flowey e 27 flowey_lib_common::install_dist_pkg 0
5587 shell: bash
5588 - name: installing packages
5589 run: flowey e 27 flowey_lib_common::install_dist_pkg 1
5590 shell: bash
5591 - name: create gh-release-download cache dir
5592 run: flowey e 27 flowey_lib_common::download_gh_release 0
5593 shell: bash
5594 - name: Pre-processing cache vars
5595 run: |-
5596 flowey e 27 flowey_lib_common::cache 8
5597 flowey v 27 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
5598 flowey v 27 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
5599 shell: bash
5600 - id: flowey_lib_common__cache__9
5601 uses: actions/cache@v5
5602 with:
5603 key: ${{ env.floweyvar8 }}
5604 path: ${{ env.floweyvar9 }}
5605 name: 'Restore cache: gh-release-download'
5606 - name: download artifacts from github releases
5607 run: |-
5608 flowey v 27 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
5609 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
5610 EOF
5611 flowey e 27 flowey_lib_common::cache 10
5612 flowey e 27 flowey_lib_common::download_gh_release 1
5613 shell: bash
5614 - name: extract azcopy from archive
5615 run: flowey e 27 flowey_lib_common::download_azcopy 0
5616 shell: bash
5617 - name: calculating required VMM tests disk images
5618 run: flowey e 27 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
5619 shell: bash
5620 - name: downloading VMM test disk images
5621 run: |-
5622 flowey e 27 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
5623 flowey e 27 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
5624 shell: bash
5625 - name: create gh cache dir
5626 run: flowey e 27 flowey_lib_common::download_gh_cli 0
5627 shell: bash
5628 - name: Pre-processing cache vars
5629 run: |-
5630 flowey e 27 flowey_lib_common::cache 4
5631 flowey v 27 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
5632 flowey v 27 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
5633 shell: bash
5634 - id: flowey_lib_common__cache__5
5635 uses: actions/cache@v5
5636 with:
5637 key: ${{ env.floweyvar6 }}
5638 path: ${{ env.floweyvar7 }}
5639 name: 'Restore cache: gh-cli'
5640 - name: installing gh
5641 run: |-
5642 flowey v 27 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
5643 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
5644 EOF
5645 flowey e 27 flowey_lib_common::cache 6
5646 flowey e 27 flowey_lib_common::download_gh_cli 1
5647 flowey v 27 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
5648 ${{ github.token }}
5649 EOF
5650 shell: bash
5651 - name: setup gh cli
5652 run: flowey e 27 flowey_lib_common::use_gh_cli 0
5653 shell: bash
5654 - name: get latest completed action id
5655 run: flowey e 27 flowey_lib_common::gh_latest_completed_workflow_id 0
5656 shell: bash
5657 - name: download artifacts from github actions run
5658 run: |-
5659 flowey e 27 flowey_lib_common::download_gh_artifact 0
5660 flowey e 27 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
5661 shell: bash
5662 - name: unpack openvmm-test-initrd archives
5663 run: flowey e 27 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
5664 shell: bash
5665 - name: unpack openvmm-test-linux archives
5666 run: flowey e 27 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
5667 shell: bash
5668 - name: unpack mu_msvm package (x64)
5669 run: flowey e 27 flowey_lib_hvlite::download_uefi_mu_msvm 0
5670 shell: bash
5671 - name: unpack openvmm-test-virtio-win archive
5672 run: flowey e 27 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0
5673 shell: bash
5674 - name: setting up vmm_tests env
5675 run: flowey e 27 flowey_lib_hvlite::init_vmm_tests_env 0
5676 shell: bash
5677 - name: ensure hypervisor device is accessible
5678 run: flowey e 27 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
5679 shell: bash
5680 - name: create cargo-nextest cache dir
5681 run: |-
5682 flowey e 27 flowey_lib_common::download_cargo_nextest 0
5683 flowey e 27 flowey_lib_common::download_cargo_nextest 1
5684 flowey e 27 flowey_lib_common::download_cargo_nextest 2
5685 flowey e 27 flowey_lib_common::download_cargo_nextest 3
5686 shell: bash
5687 - name: Pre-processing cache vars
5688 run: |-
5689 flowey e 27 flowey_lib_common::cache 0
5690 flowey v 27 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
5691 flowey v 27 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
5692 shell: bash
5693 - id: flowey_lib_common__cache__1
5694 uses: actions/cache@v5
5695 with:
5696 key: ${{ env.floweyvar4 }}
5697 path: ${{ env.floweyvar5 }}
5698 name: 'Restore cache: cargo-nextest'
5699 - name: downloading cargo-nextest
5700 run: |-
5701 flowey v 27 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
5702 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5703 EOF
5704 flowey e 27 flowey_lib_common::cache 2
5705 flowey e 27 flowey_lib_common::download_cargo_nextest 4
5706 shell: bash
5707 - name: check if openvmm needs to be cloned
5708 run: |-
5709 flowey e 27 flowey_lib_common::git_checkout 0
5710 flowey v 27 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
5711 flowey v 27 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
5712 shell: bash
5713 - id: flowey_lib_common__git_checkout__1
5714 uses: actions/checkout@v6
5715 with:
5716 fetch-depth: '1'
5717 path: repo0
5718 persist-credentials: ${{ env.floweyvar3 }}
5719 name: checkout repo openvmm
5720 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5721 - name: report cloned repo directories
5722 run: |-
5723 flowey v 27 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
5724 ${{ github.workspace }}
5725 EOF
5726 flowey e 27 flowey_lib_common::git_checkout 3
5727 flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5728 flowey e 27 flowey_lib_hvlite::run_cargo_nextest_run 0
5729 flowey e 27 flowey_lib_hvlite::run_cargo_nextest_run 1
5730 flowey e 27 flowey_core::pipeline::artifact::resolve 5
5731 flowey e 27 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1
5732 shell: bash
5733 - name: generate nextest command
5734 run: flowey e 27 flowey_lib_common::gen_cargo_nextest_run_cmd 0
5735 shell: bash
5736 - name: install vmm tests deps (linux)
5737 run: |-
5738 flowey e 27 flowey_lib_hvlite::install_vmm_tests_deps 0
5739 flowey e 27 flowey_core::pipeline::artifact::resolve 6
5740 shell: bash
5741 - name: running vmm_test prep_steps
5742 run: flowey e 27 flowey_lib_hvlite::run_prep_steps 0
5743 shell: bash
5744 - name: run 'vmm_tests' nextest tests
5745 run: |-
5746 flowey e 27 flowey_lib_common::run_cargo_nextest_run 0
5747 flowey e 27 flowey_lib_common::run_cargo_nextest_run 1
5748 flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
5749 flowey e 27 flowey_lib_common::publish_test_results 4
5750 flowey e 27 flowey_lib_common::publish_test_results 5
5751 flowey v 27 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
5752 flowey v 27 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
5753 shell: bash
5754 - id: flowey_lib_common__publish_test_results__6
5755 uses: actions/upload-artifact@v7
5756 with:
5757 name: x64-linux-intel-mshv-vmm-tests-logs
5758 path: ${{ env.floweyvar2 }}
5759 name: 'publish test results: x64-linux-intel-mshv-vmm-tests (logs)'
5760 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5761 - name: 🦀 flowey rust steps
5762 run: |-
5763 flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
5764 flowey e 27 flowey_lib_common::publish_test_results 0
5765 flowey e 27 flowey_lib_common::publish_test_results 1
5766 flowey e 27 flowey_lib_common::publish_test_results 2
5767 flowey v 27 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
5768 flowey v 27 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
5769 shell: bash
5770 - id: flowey_lib_common__publish_test_results__3
5771 uses: actions/upload-artifact@v7
5772 with:
5773 name: x64-linux-intel-mshv-vmm-tests-junit-xml
5774 path: ${{ env.floweyvar1 }}
5775 name: 'publish test results: x64-linux-intel-mshv-vmm-tests (JUnit XML)'
5776 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5777 - name: report test results to overall pipeline status
5778 run: flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
5779 shell: bash
5780 - name: 'validate cache entry: cargo-nextest'
5781 run: flowey e 27 flowey_lib_common::cache 3
5782 shell: bash
5783 - name: 'validate cache entry: gh-cli'
5784 run: flowey e 27 flowey_lib_common::cache 7
5785 shell: bash
5786 - name: 'validate cache entry: gh-release-download'
5787 run: flowey e 27 flowey_lib_common::cache 11
5788 shell: bash
5789 job28:
5790 name: run vmm-tests [aarch64-windows]
5791 runs-on:
5792 - self-hosted
5793 - Windows
5794 - ARM64
5795 - Baremetal
5796 permissions:
5797 contents: read
5798 id-token: write
5799 needs:
5800 - job0
5801 - job10
5802 - job2
5803 - job3
5804 - job5
5805 if: github.event.pull_request.draft == false
5806 steps:
5807 - run: |
5808 set -x
5809 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
5810 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
5811 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
5812 . "$HOME/.cargo/env"
5813 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
5814 rustup show
5815 if: runner.os == 'Linux'
5816 name: rustup (Linux)
5817 shell: bash
5818 - run: |
5819 set -x
5820 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
5821 ./rustup-init.exe -y --default-toolchain=1.95.0
5822 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
5823 if: runner.os == 'Windows' && runner.arch == 'X64'
5824 name: rustup (Windows X64)
5825 shell: bash
5826 - run: |
5827 set -x
5828 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
5829 ./rustup-init.exe -y --default-toolchain=1.95.0
5830 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
5831 if: runner.os == 'Windows' && runner.arch == 'ARM64'
5832 name: rustup (Windows ARM64)
5833 shell: bash
5834 - uses: actions/checkout@v6
5835 with:
5836 path: flowey_bootstrap
5837 - name: Build flowey
5838 run: |
5839 set -x
5840 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci
5841 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5842 mkdir -p "$OutDirNormal"
5843 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
5844 mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
5845 working-directory: flowey_bootstrap
5846 shell: bash
5847 - name: 🌼📦 Download artifacts
5848 uses: actions/download-artifact@v8
5849 with:
5850 pattern: '{aarch64-guest_test_uefi,aarch64-linux-musl-pipette,aarch64-linux-musl-tmk_vmm,aarch64-openhcl-igvm,aarch64-tmks,aarch64-windows-openvmm,aarch64-windows-pipette,aarch64-windows-tmk_vmm,aarch64-windows-vmgstool,aarch64-windows-vmgstool-dev,aarch64-windows-vmm-tests-archive}'
5851 path: ${{ runner.temp }}/used_artifacts/
5852 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
5853 shell: bash
5854 name: 🌼📦 Add flowey to PATH
5855 - name: 🌼🔎 Self-check YAML
5856 run: |-
5857 ESCAPED_AGENT_TEMPDIR=$(
5858 cat <<'EOF' | sed 's/\\/\\\\/g'
5859 ${{ runner.temp }}
5860 EOF
5861 )
5862 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
5863 shell: bash
5864 - name: 🌼🛫 Initialize job
5865 run: |
5866 AgentTempDirNormal="${{ runner.temp }}"
5867 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5868 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5869
5870 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
5871
5872 echo '"debug"' | flowey.exe v 28 'FLOWEY_LOG' update
5873 echo "${{ runner.temp }}/work" | flowey.exe v 28 '_internal_WORKING_DIR' --is-raw-string update
5874
5875 cat <<'EOF' | flowey.exe v 28 'verbose' update
5876 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5877 EOF
5878 echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 28 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update
5879 echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 28 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update
5880 echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 28 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update
5881 echo "${{ runner.temp }}\\used_artifacts\\aarch64-openhcl-igvm" | flowey.exe v 28 'artifact_use_from_aarch64-openhcl-igvm' --is-raw-string update
5882 echo "${{ runner.temp }}\\used_artifacts\\aarch64-tmks" | flowey.exe v 28 'artifact_use_from_aarch64-tmks' --is-raw-string update
5883 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-openvmm" | flowey.exe v 28 'artifact_use_from_aarch64-windows-openvmm' --is-raw-string update
5884 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-pipette" | flowey.exe v 28 'artifact_use_from_aarch64-windows-pipette' --is-raw-string update
5885 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 28 'artifact_use_from_aarch64-windows-tmk_vmm' --is-raw-string update
5886 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 28 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update
5887 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 28 'artifact_use_from_aarch64-windows-vmgstool-dev' --is-raw-string update
5888 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 28 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update
5889 shell: bash
5890 - name: create cargo-nextest cache dir
5891 run: |-
5892 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 0
5893 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 1
5894 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 2
5895 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 3
5896 shell: bash
5897 - name: Pre-processing cache vars
5898 run: |-
5899 flowey.exe e 28 flowey_lib_common::cache 0
5900 flowey.exe v 28 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
5901 flowey.exe v 28 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
5902 shell: bash
5903 - id: flowey_lib_common__cache__1
5904 uses: actions/cache@v5
5905 with:
5906 key: ${{ env.floweyvar4 }}
5907 path: ${{ env.floweyvar5 }}
5908 name: 'Restore cache: cargo-nextest'
5909 - name: downloading cargo-nextest
5910 run: |-
5911 flowey.exe v 28 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
5912 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5913 EOF
5914 flowey.exe e 28 flowey_lib_common::cache 2
5915 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 4
5916 shell: bash
5917 - name: check if openvmm needs to be cloned
5918 run: |-
5919 flowey.exe e 28 flowey_lib_common::git_checkout 0
5920 flowey.exe v 28 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar3
5921 flowey.exe v 28 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
5922 shell: bash
5923 - id: flowey_lib_common__git_checkout__1
5924 uses: actions/checkout@v6
5925 with:
5926 fetch-depth: '1'
5927 path: repo0
5928 persist-credentials: ${{ env.floweyvar3 }}
5929 name: checkout repo openvmm
5930 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5931 - name: report cloned repo directories
5932 run: |-
5933 flowey.exe v 28 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
5934 ${{ github.workspace }}
5935 EOF
5936 flowey.exe e 28 flowey_lib_common::git_checkout 3
5937 flowey.exe e 28 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5938 flowey.exe e 28 flowey_lib_hvlite::run_cargo_nextest_run 0
5939 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 4
5940 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 5
5941 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 1
5942 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 0
5943 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 6
5944 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 2
5945 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 3
5946 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 7
5947 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 8
5948 shell: bash
5949 - name: creating new test content dir
5950 run: flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
5951 shell: bash
5952 - name: resolve OpenHCL igvm artifact
5953 run: flowey.exe e 28 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
5954 shell: bash
5955 - name: create gh-release-download cache dir
5956 run: flowey.exe e 28 flowey_lib_common::download_gh_release 0
5957 shell: bash
5958 - name: Pre-processing cache vars
5959 run: |-
5960 flowey.exe e 28 flowey_lib_common::cache 8
5961 flowey.exe v 28 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
5962 flowey.exe v 28 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
5963 shell: bash
5964 - id: flowey_lib_common__cache__9
5965 uses: actions/cache@v5
5966 with:
5967 key: ${{ env.floweyvar8 }}
5968 path: ${{ env.floweyvar9 }}
5969 name: 'Restore cache: gh-release-download'
5970 - name: download artifacts from github releases
5971 run: |-
5972 flowey.exe v 28 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
5973 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
5974 EOF
5975 flowey.exe e 28 flowey_lib_common::cache 10
5976 flowey.exe e 28 flowey_lib_common::download_gh_release 1
5977 shell: bash
5978 - name: extract azcopy from archive
5979 run: flowey.exe e 28 flowey_lib_common::download_azcopy 0
5980 shell: bash
5981 - name: calculating required VMM tests disk images
5982 run: flowey.exe e 28 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
5983 shell: bash
5984 - name: downloading VMM test disk images
5985 run: |-
5986 flowey.exe e 28 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
5987 flowey.exe e 28 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
5988 shell: bash
5989 - name: create gh cache dir
5990 run: flowey.exe e 28 flowey_lib_common::download_gh_cli 0
5991 shell: bash
5992 - name: Pre-processing cache vars
5993 run: |-
5994 flowey.exe e 28 flowey_lib_common::cache 4
5995 flowey.exe v 28 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
5996 flowey.exe v 28 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
5997 shell: bash
5998 - id: flowey_lib_common__cache__5
5999 uses: actions/cache@v5
6000 with:
6001 key: ${{ env.floweyvar6 }}
6002 path: ${{ env.floweyvar7 }}
6003 name: 'Restore cache: gh-cli'
6004 - name: installing gh
6005 run: |-
6006 flowey.exe v 28 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
6007 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
6008 EOF
6009 flowey.exe e 28 flowey_lib_common::cache 6
6010 flowey.exe e 28 flowey_lib_common::download_gh_cli 1
6011 flowey.exe v 28 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
6012 ${{ github.token }}
6013 EOF
6014 shell: bash
6015 - name: setup gh cli
6016 run: flowey.exe e 28 flowey_lib_common::use_gh_cli 0
6017 shell: bash
6018 - name: get latest completed action id
6019 run: flowey.exe e 28 flowey_lib_common::gh_latest_completed_workflow_id 0
6020 shell: bash
6021 - name: download artifacts from github actions run
6022 run: |-
6023 flowey.exe e 28 flowey_lib_common::download_gh_artifact 0
6024 flowey.exe e 28 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
6025 shell: bash
6026 - name: unpack openvmm-test-initrd archives
6027 run: flowey.exe e 28 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
6028 shell: bash
6029 - name: unpack openvmm-test-linux archives
6030 run: flowey.exe e 28 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
6031 shell: bash
6032 - name: unpack mu_msvm package (aarch64)
6033 run: flowey.exe e 28 flowey_lib_hvlite::download_uefi_mu_msvm 0
6034 shell: bash
6035 - name: unpack openvmm-test-virtio-win archive
6036 run: flowey.exe e 28 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0
6037 shell: bash
6038 - name: setting up vmm_tests env
6039 run: |-
6040 flowey.exe e 28 flowey_lib_hvlite::init_vmm_tests_env 0
6041 flowey.exe e 28 flowey_lib_hvlite::run_cargo_nextest_run 1
6042 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 9
6043 flowey.exe e 28 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
6044 shell: bash
6045 - name: generate nextest command
6046 run: flowey.exe e 28 flowey_lib_common::gen_cargo_nextest_run_cmd 0
6047 shell: bash
6048 - name: install vmm tests deps (windows)
6049 run: flowey.exe e 28 flowey_lib_hvlite::install_vmm_tests_deps 0
6050 shell: bash
6051 - name: starting test_igvm_agent_rpc_server
6052 run: flowey.exe e 28 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
6053 shell: bash
6054 - name: run 'vmm_tests' nextest tests
6055 run: |-
6056 flowey.exe e 28 flowey_lib_common::run_cargo_nextest_run 0
6057 flowey.exe e 28 flowey_lib_common::run_cargo_nextest_run 1
6058 flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
6059 shell: bash
6060 - name: stopping test_igvm_agent_rpc_server
6061 run: |-
6062 flowey.exe e 28 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
6063 flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
6064 flowey.exe e 28 flowey_lib_common::publish_test_results 4
6065 flowey.exe e 28 flowey_lib_common::publish_test_results 5
6066 flowey.exe v 28 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
6067 flowey.exe v 28 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
6068 shell: bash
6069 - id: flowey_lib_common__publish_test_results__6
6070 uses: actions/upload-artifact@v7
6071 with:
6072 name: aarch64-windows-vmm-tests-logs
6073 path: ${{ env.floweyvar2 }}
6074 name: 'publish test results: aarch64-windows-vmm-tests (logs)'
6075 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6076 - name: 🦀 flowey rust steps
6077 run: |-
6078 flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
6079 flowey.exe e 28 flowey_lib_common::publish_test_results 0
6080 flowey.exe e 28 flowey_lib_common::publish_test_results 1
6081 flowey.exe e 28 flowey_lib_common::publish_test_results 2
6082 flowey.exe v 28 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
6083 flowey.exe v 28 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
6084 shell: bash
6085 - id: flowey_lib_common__publish_test_results__3
6086 uses: actions/upload-artifact@v7
6087 with:
6088 name: aarch64-windows-vmm-tests-junit-xml
6089 path: ${{ env.floweyvar1 }}
6090 name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)'
6091 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6092 - name: report test results to overall pipeline status
6093 run: flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
6094 shell: bash
6095 - name: 'validate cache entry: cargo-nextest'
6096 run: flowey.exe e 28 flowey_lib_common::cache 3
6097 shell: bash
6098 - name: 'validate cache entry: gh-cli'
6099 run: flowey.exe e 28 flowey_lib_common::cache 7
6100 shell: bash
6101 - name: 'validate cache entry: gh-release-download'
6102 run: flowey.exe e 28 flowey_lib_common::cache 11
6103 shell: bash
6104 job29:
6105 name: test flowey local backend
6106 runs-on: ubuntu-latest
6107 permissions:
6108 contents: read
6109 id-token: write
6110 needs:
6111 - job0
6112 if: github.event.pull_request.draft == false
6113 steps:
6114 - name: 🌼📦 Download artifacts
6115 uses: actions/download-artifact@v8
6116 with:
6117 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
6118 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
6119 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
6120 shell: bash
6121 name: 🌼📦 Add flowey to PATH
6122 - name: 🌼🛫 Initialize job
6123 run: |
6124 AgentTempDirNormal="${{ runner.temp }}"
6125 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6126 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6127
6128 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
6129
6130 echo '"debug"' | flowey v 29 'FLOWEY_LOG' update
6131 echo "${{ runner.temp }}/work" | flowey v 29 '_internal_WORKING_DIR' --is-raw-string update
6132
6133 cat <<'EOF' | flowey v 29 'verbose' update
6134 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6135 EOF
6136 shell: bash
6137 - name: check if openvmm needs to be cloned
6138 run: |-
6139 flowey e 29 flowey_lib_common::git_checkout 0
6140 flowey v 29 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
6141 flowey v 29 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
6142 shell: bash
6143 - id: flowey_lib_common__git_checkout__1
6144 uses: actions/checkout@v6
6145 with:
6146 fetch-depth: '1'
6147 path: repo0
6148 persist-credentials: ${{ env.floweyvar1 }}
6149 name: checkout repo openvmm
6150 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6151 - name: report cloned repo directories
6152 run: |-
6153 flowey v 29 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
6154 ${{ github.workspace }}
6155 EOF
6156 flowey e 29 flowey_lib_common::git_checkout 3
6157 flowey e 29 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6158 shell: bash
6159 - name: add default cargo home to path
6160 run: flowey e 29 flowey_lib_common::install_rust 0
6161 shell: bash
6162 - name: install Rust
6163 run: flowey e 29 flowey_lib_common::install_rust 1
6164 shell: bash
6165 - name: detect active toolchain
6166 run: |-
6167 flowey e 29 flowey_lib_common::install_rust 2
6168 flowey v 29 'flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm:3:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
6169 ${{ github.token }}
6170 EOF
6171 shell: bash
6172 - name: test cargo xflowey build-igvm x64 --install-missing-deps
6173 run: flowey e 29 flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm 1
6174 shell: bash
6175 job3:
6176 name: build artifacts (shared VMM tests) [linux]
6177 runs-on:
6178 - self-hosted
6179 - 1ES.Pool=openvmm-gh-amd-westus3
6180 - 1ES.ImageOverride=ubuntu2404-amd64
6181 - JobId=job3-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
6182 permissions:
6183 contents: read
6184 id-token: write
6185 needs:
6186 - job0
6187 if: github.event.pull_request.draft == false
6188 steps:
6189 - name: 🌼📦 Download artifacts
6190 uses: actions/download-artifact@v8
6191 with:
6192 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
6193 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
6194 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
6195 shell: bash
6196 name: 🌼📦 Add flowey to PATH
6197 - name: 🌼🛫 Initialize job
6198 run: |
6199 AgentTempDirNormal="${{ runner.temp }}"
6200 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6201 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6202
6203 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
6204
6205 echo '"debug"' | flowey v 3 'FLOWEY_LOG' update
6206 echo "${{ runner.temp }}/work" | flowey v 3 '_internal_WORKING_DIR' --is-raw-string update
6207
6208 cat <<'EOF' | flowey v 3 'verbose' update
6209 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6210 EOF
6211 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi"
6212 echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 3 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update
6213 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette"
6214 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update
6215 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm"
6216 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update
6217 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests"
6218 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update
6219 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks"
6220 echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 3 'artifact_publish_from_aarch64-tmks' --is-raw-string update
6221 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi"
6222 echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 3 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update
6223 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette"
6224 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update
6225 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm"
6226 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update
6227 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests"
6228 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update
6229 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks"
6230 echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 3 'artifact_publish_from_x64-tmks' --is-raw-string update
6231 shell: bash
6232 - name: add default cargo home to path
6233 run: flowey e 3 flowey_lib_common::install_rust 0
6234 shell: bash
6235 - name: install Rust
6236 run: flowey e 3 flowey_lib_common::install_rust 1
6237 shell: bash
6238 - name: detect active toolchain
6239 run: |-
6240 flowey e 3 flowey_lib_common::install_rust 2
6241 flowey e 3 flowey_lib_common::cfg_cargo_common_flags 0
6242 shell: bash
6243 - name: check if openvmm needs to be cloned
6244 run: |-
6245 flowey e 3 flowey_lib_common::git_checkout 0
6246 flowey v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
6247 flowey v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
6248 shell: bash
6249 - id: flowey_lib_common__git_checkout__1
6250 uses: actions/checkout@v6
6251 with:
6252 fetch-depth: '1'
6253 path: repo0
6254 persist-credentials: ${{ env.floweyvar1 }}
6255 name: checkout repo openvmm
6256 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6257 - name: report cloned repo directories
6258 run: |-
6259 flowey v 3 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
6260 ${{ github.workspace }}
6261 EOF
6262 flowey e 3 flowey_lib_common::git_checkout 3
6263 flowey e 3 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6264 shell: bash
6265 - name: set '-Dwarnings' in .cargo/config.toml
6266 run: flowey e 3 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
6267 shell: bash
6268 - name: create gh-release-download cache dir
6269 run: flowey e 3 flowey_lib_common::download_gh_release 0
6270 shell: bash
6271 - name: Pre-processing cache vars
6272 run: |-
6273 flowey e 3 flowey_lib_common::cache 0
6274 flowey v 3 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
6275 flowey v 3 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
6276 shell: bash
6277 - id: flowey_lib_common__cache__1
6278 uses: actions/cache@v5
6279 with:
6280 key: ${{ env.floweyvar2 }}
6281 path: ${{ env.floweyvar3 }}
6282 name: 'Restore cache: gh-release-download'
6283 - name: download artifacts from github releases
6284 run: |-
6285 flowey v 3 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
6286 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
6287 EOF
6288 flowey e 3 flowey_lib_common::cache 2
6289 flowey e 3 flowey_lib_common::download_gh_release 1
6290 shell: bash
6291 - name: checking if packages need to be installed
6292 run: flowey e 3 flowey_lib_common::install_dist_pkg 0
6293 shell: bash
6294 - name: installing packages
6295 run: flowey e 3 flowey_lib_common::install_dist_pkg 1
6296 shell: bash
6297 - name: unpack protoc
6298 run: |-
6299 flowey e 3 flowey_lib_common::resolve_protoc 0
6300 flowey e 3 flowey_lib_hvlite::cfg_openvmm_magicpath 0
6301 shell: bash
6302 - name: symlink protoc
6303 run: flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
6304 shell: bash
6305 - name: unpack openvmm-deps archive
6306 run: flowey e 3 flowey_lib_hvlite::resolve_openvmm_deps 0
6307 shell: bash
6308 - name: extract Aarch64 sysroot.tar.gz
6309 run: |-
6310 flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 1
6311 flowey e 3 flowey_lib_hvlite::init_cross_build 2
6312 shell: bash
6313 - name: cargo build tmk_vmm
6314 run: |-
6315 flowey e 3 flowey_lib_common::run_cargo_build 6
6316 flowey e 3 flowey_lib_hvlite::run_cargo_build 14
6317 shell: bash
6318 - name: split debug symbols
6319 run: |-
6320 flowey e 3 flowey_lib_hvlite::run_split_debug_info 2
6321 flowey e 3 flowey_lib_hvlite::run_cargo_build 15
6322 flowey e 3 flowey_lib_hvlite::build_tmk_vmm 0
6323 flowey e 3 flowey_core::pipeline::artifact::publish 6
6324 flowey e 3 flowey_lib_hvlite::init_cross_build 9
6325 shell: bash
6326 - name: cargo build guest_test_uefi
6327 run: |-
6328 flowey e 3 flowey_lib_common::run_cargo_build 1
6329 flowey e 3 flowey_lib_hvlite::run_cargo_build 1
6330 shell: bash
6331 - name: build guest_test_uefi.img
6332 run: |-
6333 flowey e 3 flowey_lib_hvlite::build_guest_test_uefi 0
6334 flowey e 3 flowey_core::pipeline::artifact::publish 7
6335 flowey e 3 flowey_lib_hvlite::init_cross_build 5
6336 flowey e 3 flowey_lib_hvlite::run_cargo_build 10
6337 flowey e 3 flowey_lib_hvlite::run_cargo_build 11
6338 shell: bash
6339 - name: cargo build simple_tmk
6340 run: |-
6341 flowey e 3 flowey_lib_common::run_cargo_build 4
6342 flowey e 3 flowey_lib_hvlite::run_cargo_build 12
6343 shell: bash
6344 - name: split debug symbols
6345 run: |-
6346 flowey e 3 flowey_lib_hvlite::run_split_debug_info 5
6347 flowey e 3 flowey_lib_hvlite::run_cargo_build 13
6348 flowey e 3 flowey_lib_hvlite::build_tmks 0
6349 flowey e 3 flowey_core::pipeline::artifact::publish 8
6350 flowey e 3 flowey_lib_hvlite::init_cross_build 6
6351 shell: bash
6352 - name: cargo build tpm_guest_tests
6353 run: |-
6354 flowey e 3 flowey_lib_common::run_cargo_build 9
6355 flowey e 3 flowey_lib_hvlite::run_cargo_build 20
6356 shell: bash
6357 - name: split debug symbols
6358 run: |-
6359 flowey e 3 flowey_lib_hvlite::run_split_debug_info 7
6360 flowey e 3 flowey_lib_hvlite::run_cargo_build 21
6361 flowey e 3 flowey_lib_hvlite::build_tpm_guest_tests 1
6362 flowey e 3 flowey_core::pipeline::artifact::publish 9
6363 shell: bash
6364 - name: extract X86_64 sysroot.tar.gz
6365 run: |-
6366 flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
6367 flowey e 3 flowey_lib_hvlite::init_cross_build 7
6368 shell: bash
6369 - name: cargo build pipette
6370 run: |-
6371 flowey e 3 flowey_lib_common::run_cargo_build 3
6372 flowey e 3 flowey_lib_hvlite::run_cargo_build 4
6373 shell: bash
6374 - name: split debug symbols
6375 run: |-
6376 flowey e 3 flowey_lib_hvlite::run_split_debug_info 4
6377 flowey e 3 flowey_lib_hvlite::run_cargo_build 5
6378 flowey e 3 flowey_lib_hvlite::build_pipette 1
6379 flowey e 3 flowey_core::pipeline::artifact::publish 0
6380 flowey e 3 flowey_lib_hvlite::init_cross_build 8
6381 shell: bash
6382 - name: cargo build tmk_vmm
6383 run: |-
6384 flowey e 3 flowey_lib_common::run_cargo_build 7
6385 flowey e 3 flowey_lib_hvlite::run_cargo_build 16
6386 shell: bash
6387 - name: split debug symbols
6388 run: |-
6389 flowey e 3 flowey_lib_hvlite::run_split_debug_info 6
6390 flowey e 3 flowey_lib_hvlite::run_cargo_build 17
6391 flowey e 3 flowey_lib_hvlite::build_tmk_vmm 1
6392 flowey e 3 flowey_core::pipeline::artifact::publish 1
6393 flowey e 3 flowey_lib_hvlite::init_cross_build 4
6394 shell: bash
6395 - name: cargo build guest_test_uefi
6396 run: |-
6397 flowey e 3 flowey_lib_common::run_cargo_build 0
6398 flowey e 3 flowey_lib_hvlite::run_cargo_build 0
6399 shell: bash
6400 - name: build guest_test_uefi.img
6401 run: |-
6402 flowey e 3 flowey_lib_hvlite::build_guest_test_uefi 1
6403 flowey e 3 flowey_core::pipeline::artifact::publish 2
6404 flowey e 3 flowey_lib_hvlite::init_cross_build 0
6405 flowey e 3 flowey_lib_hvlite::run_cargo_build 6
6406 flowey e 3 flowey_lib_hvlite::run_cargo_build 7
6407 shell: bash
6408 - name: cargo build simple_tmk
6409 run: |-
6410 flowey e 3 flowey_lib_common::run_cargo_build 5
6411 flowey e 3 flowey_lib_hvlite::run_cargo_build 8
6412 shell: bash
6413 - name: split debug symbols
6414 run: |-
6415 flowey e 3 flowey_lib_hvlite::run_split_debug_info 1
6416 flowey e 3 flowey_lib_hvlite::run_cargo_build 9
6417 flowey e 3 flowey_lib_hvlite::build_tmks 1
6418 flowey e 3 flowey_core::pipeline::artifact::publish 3
6419 flowey e 3 flowey_lib_hvlite::init_cross_build 1
6420 shell: bash
6421 - name: cargo build tpm_guest_tests
6422 run: |-
6423 flowey e 3 flowey_lib_common::run_cargo_build 8
6424 flowey e 3 flowey_lib_hvlite::run_cargo_build 18
6425 shell: bash
6426 - name: split debug symbols
6427 run: |-
6428 flowey e 3 flowey_lib_hvlite::run_split_debug_info 3
6429 flowey e 3 flowey_lib_hvlite::run_cargo_build 19
6430 flowey e 3 flowey_lib_hvlite::build_tpm_guest_tests 0
6431 flowey e 3 flowey_core::pipeline::artifact::publish 4
6432 flowey e 3 flowey_lib_hvlite::init_cross_build 3
6433 shell: bash
6434 - name: cargo build pipette
6435 run: |-
6436 flowey e 3 flowey_lib_common::run_cargo_build 2
6437 flowey e 3 flowey_lib_hvlite::run_cargo_build 2
6438 shell: bash
6439 - name: split debug symbols
6440 run: |-
6441 flowey e 3 flowey_lib_hvlite::run_split_debug_info 0
6442 flowey e 3 flowey_lib_hvlite::run_cargo_build 3
6443 flowey e 3 flowey_lib_hvlite::build_pipette 0
6444 flowey e 3 flowey_core::pipeline::artifact::publish 5
6445 shell: bash
6446 - name: 'validate cache entry: gh-release-download'
6447 run: flowey e 3 flowey_lib_common::cache 3
6448 shell: bash
6449 - name: 🌼📦 Publish aarch64-guest_test_uefi
6450 uses: actions/upload-artifact@v7
6451 with:
6452 name: aarch64-guest_test_uefi
6453 path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/
6454 include-hidden-files: true
6455 - name: 🌼📦 Publish aarch64-linux-musl-pipette
6456 uses: actions/upload-artifact@v7
6457 with:
6458 name: aarch64-linux-musl-pipette
6459 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-pipette/
6460 include-hidden-files: true
6461 - name: 🌼📦 Publish aarch64-linux-musl-tmk_vmm
6462 uses: actions/upload-artifact@v7
6463 with:
6464 name: aarch64-linux-musl-tmk_vmm
6465 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/
6466 include-hidden-files: true
6467 - name: 🌼📦 Publish aarch64-linux-tpm_guest_tests
6468 uses: actions/upload-artifact@v7
6469 with:
6470 name: aarch64-linux-tpm_guest_tests
6471 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-tpm_guest_tests/
6472 include-hidden-files: true
6473 - name: 🌼📦 Publish aarch64-tmks
6474 uses: actions/upload-artifact@v7
6475 with:
6476 name: aarch64-tmks
6477 path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/
6478 include-hidden-files: true
6479 - name: 🌼📦 Publish x64-guest_test_uefi
6480 uses: actions/upload-artifact@v7
6481 with:
6482 name: x64-guest_test_uefi
6483 path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/
6484 include-hidden-files: true
6485 - name: 🌼📦 Publish x64-linux-musl-pipette
6486 uses: actions/upload-artifact@v7
6487 with:
6488 name: x64-linux-musl-pipette
6489 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-pipette/
6490 include-hidden-files: true
6491 - name: 🌼📦 Publish x64-linux-musl-tmk_vmm
6492 uses: actions/upload-artifact@v7
6493 with:
6494 name: x64-linux-musl-tmk_vmm
6495 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/
6496 include-hidden-files: true
6497 - name: 🌼📦 Publish x64-linux-tpm_guest_tests
6498 uses: actions/upload-artifact@v7
6499 with:
6500 name: x64-linux-tpm_guest_tests
6501 path: ${{ runner.temp }}/publish_artifacts/x64-linux-tpm_guest_tests/
6502 include-hidden-files: true
6503 - name: 🌼📦 Publish x64-tmks
6504 uses: actions/upload-artifact@v7
6505 with:
6506 name: x64-tmks
6507 path: ${{ runner.temp }}/publish_artifacts/x64-tmks/
6508 include-hidden-files: true
6509 job30:
6510 name: openvmm checkin gates
6511 runs-on: ubuntu-latest
6512 permissions:
6513 contents: read
6514 id-token: write
6515 needs:
6516 - job0
6517 - job1
6518 - job10
6519 - job11
6520 - job12
6521 - job13
6522 - job14
6523 - job15
6524 - job16
6525 - job17
6526 - job18
6527 - job19
6528 - job2
6529 - job20
6530 - job21
6531 - job22
6532 - job23
6533 - job24
6534 - job25
6535 - job26
6536 - job27
6537 - job28
6538 - job29
6539 - job3
6540 - job4
6541 - job5
6542 - job6
6543 - job7
6544 - job8
6545 - job9
6546 if: always() && github.event.pull_request.draft == false
6547 env:
6548 ANY_JOBS_FAILED: ${{ contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }}
6549 steps:
6550 - name: 🌼📦 Download artifacts
6551 uses: actions/download-artifact@v8
6552 with:
6553 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
6554 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
6555 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
6556 shell: bash
6557 name: 🌼📦 Add flowey to PATH
6558 - name: 🌼🛫 Initialize job
6559 run: |
6560 AgentTempDirNormal="${{ runner.temp }}"
6561 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6562 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6563
6564 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
6565
6566 echo '"debug"' | flowey v 30 'FLOWEY_LOG' update
6567 echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update
6568
6569 cat <<'EOF' | flowey v 30 'verbose' update
6570 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6571 EOF
6572 shell: bash
6573 - name: Check if any jobs failed
6574 run: flowey e 30 flowey_lib_hvlite::_jobs::all_good_job 0
6575 shell: bash
6576 job4:
6577 name: build artifacts (not for VMM tests) [aarch64-windows]
6578 runs-on:
6579 - self-hosted
6580 - 1ES.Pool=openvmm-gh-amd-westus3
6581 - 1ES.ImageOverride=win-amd64
6582 - JobId=job4-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
6583 permissions:
6584 contents: read
6585 id-token: write
6586 needs:
6587 - job0
6588 if: github.event.pull_request.draft == false
6589 steps:
6590 - run: |
6591 set -x
6592 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
6593 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
6594 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
6595 . "$HOME/.cargo/env"
6596 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
6597 rustup show
6598 if: runner.os == 'Linux'
6599 name: rustup (Linux)
6600 shell: bash
6601 - run: |
6602 set -x
6603 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
6604 ./rustup-init.exe -y --default-toolchain=1.95.0
6605 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
6606 if: runner.os == 'Windows' && runner.arch == 'X64'
6607 name: rustup (Windows X64)
6608 shell: bash
6609 - run: |
6610 set -x
6611 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
6612 ./rustup-init.exe -y --default-toolchain=1.95.0
6613 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
6614 if: runner.os == 'Windows' && runner.arch == 'ARM64'
6615 name: rustup (Windows ARM64)
6616 shell: bash
6617 - uses: actions/checkout@v6
6618 with:
6619 path: flowey_bootstrap
6620 - name: Build flowey
6621 run: |
6622 set -x
6623 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
6624 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6625 mkdir -p "$OutDirNormal"
6626 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
6627 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
6628 working-directory: flowey_bootstrap
6629 shell: bash
6630 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
6631 shell: bash
6632 name: 🌼📦 Add flowey to PATH
6633 - name: 🌼🔎 Self-check YAML
6634 run: |-
6635 ESCAPED_AGENT_TEMPDIR=$(
6636 cat <<'EOF' | sed 's/\\/\\\\/g'
6637 ${{ runner.temp }}
6638 EOF
6639 )
6640 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
6641 shell: bash
6642 - name: 🌼🛫 Initialize job
6643 run: |
6644 AgentTempDirNormal="${{ runner.temp }}"
6645 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6646 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6647
6648 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
6649
6650 echo '"debug"' | flowey.exe v 4 'FLOWEY_LOG' update
6651 echo "${{ runner.temp }}/work" | flowey.exe v 4 '_internal_WORKING_DIR' --is-raw-string update
6652
6653 cat <<'EOF' | flowey.exe v 4 'verbose' update
6654 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6655 EOF
6656 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv"
6657 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update
6658 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen"
6659 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update
6660 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev"
6661 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update
6662 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib"
6663 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update
6664 shell: bash
6665 - name: add default cargo home to path
6666 run: flowey.exe e 4 flowey_lib_common::install_rust 0
6667 shell: bash
6668 - name: install Rust
6669 run: flowey.exe e 4 flowey_lib_common::install_rust 1
6670 shell: bash
6671 - name: detect active toolchain
6672 run: |-
6673 flowey.exe e 4 flowey_lib_common::install_rust 2
6674 flowey.exe e 4 flowey_lib_common::cfg_cargo_common_flags 0
6675 shell: bash
6676 - name: check if openvmm needs to be cloned
6677 run: |-
6678 flowey.exe e 4 flowey_lib_common::git_checkout 0
6679 flowey.exe v 4 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
6680 flowey.exe v 4 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
6681 shell: bash
6682 - id: flowey_lib_common__git_checkout__1
6683 uses: actions/checkout@v6
6684 with:
6685 fetch-depth: '1'
6686 path: repo0
6687 persist-credentials: ${{ env.floweyvar1 }}
6688 name: checkout repo openvmm
6689 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6690 - name: report cloned repo directories
6691 run: |-
6692 flowey.exe v 4 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
6693 ${{ github.workspace }}
6694 EOF
6695 flowey.exe e 4 flowey_lib_common::git_checkout 3
6696 flowey.exe e 4 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6697 shell: bash
6698 - name: set '-Dwarnings' in .cargo/config.toml
6699 run: flowey.exe e 4 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
6700 shell: bash
6701 - name: create gh-release-download cache dir
6702 run: flowey.exe e 4 flowey_lib_common::download_gh_release 0
6703 shell: bash
6704 - name: Pre-processing cache vars
6705 run: |-
6706 flowey.exe e 4 flowey_lib_common::cache 0
6707 flowey.exe v 4 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
6708 flowey.exe v 4 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
6709 shell: bash
6710 - id: flowey_lib_common__cache__1
6711 uses: actions/cache@v5
6712 with:
6713 key: ${{ env.floweyvar2 }}
6714 path: ${{ env.floweyvar3 }}
6715 name: 'Restore cache: gh-release-download'
6716 - name: download artifacts from github releases
6717 run: |-
6718 flowey.exe v 4 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
6719 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
6720 EOF
6721 flowey.exe e 4 flowey_lib_common::cache 2
6722 flowey.exe e 4 flowey_lib_common::download_gh_release 1
6723 shell: bash
6724 - name: unpack protoc
6725 run: |-
6726 flowey.exe e 4 flowey_lib_common::resolve_protoc 0
6727 flowey.exe e 4 flowey_lib_hvlite::cfg_openvmm_magicpath 0
6728 shell: bash
6729 - name: symlink protoc
6730 run: |-
6731 flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
6732 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1
6733 shell: bash
6734 - name: cargo build hypestv
6735 run: |-
6736 flowey.exe e 4 flowey_lib_common::run_cargo_build 0
6737 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 0
6738 flowey.exe e 4 flowey_lib_hvlite::build_hypestv 0
6739 flowey.exe e 4 flowey_core::pipeline::artifact::publish 0
6740 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 0
6741 shell: bash
6742 - name: cargo build vmgs_lib
6743 run: |-
6744 flowey.exe e 4 flowey_lib_common::run_cargo_build 3
6745 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 3
6746 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0
6747 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1
6748 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1
6749 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2
6750 shell: bash
6751 - name: cargo build igvmfilegen
6752 run: |-
6753 flowey.exe e 4 flowey_lib_common::run_cargo_build 1
6754 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1
6755 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0
6756 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2
6757 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3
6758 shell: bash
6759 - name: cargo build ohcldiag-dev
6760 run: |-
6761 flowey.exe e 4 flowey_lib_common::run_cargo_build 2
6762 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2
6763 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0
6764 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3
6765 shell: bash
6766 - name: 'validate cache entry: gh-release-download'
6767 run: flowey.exe e 4 flowey_lib_common::cache 3
6768 shell: bash
6769 - name: 🌼📦 Publish aarch64-windows-hypestv
6770 uses: actions/upload-artifact@v7
6771 with:
6772 name: aarch64-windows-hypestv
6773 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/
6774 include-hidden-files: true
6775 - name: 🌼📦 Publish aarch64-windows-igvmfilegen
6776 uses: actions/upload-artifact@v7
6777 with:
6778 name: aarch64-windows-igvmfilegen
6779 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/
6780 include-hidden-files: true
6781 - name: 🌼📦 Publish aarch64-windows-ohcldiag-dev
6782 uses: actions/upload-artifact@v7
6783 with:
6784 name: aarch64-windows-ohcldiag-dev
6785 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/
6786 include-hidden-files: true
6787 - name: 🌼📦 Publish aarch64-windows-vmgs_lib
6788 uses: actions/upload-artifact@v7
6789 with:
6790 name: aarch64-windows-vmgs_lib
6791 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/
6792 include-hidden-files: true
6793 job5:
6794 name: build artifacts (for VMM tests) [aarch64-windows]
6795 runs-on:
6796 - self-hosted
6797 - 1ES.Pool=openvmm-gh-amd-westus3
6798 - 1ES.ImageOverride=win-amd64
6799 - JobId=job5-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
6800 permissions:
6801 contents: read
6802 id-token: write
6803 needs:
6804 - job0
6805 if: github.event.pull_request.draft == false
6806 steps:
6807 - run: |
6808 set -x
6809 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
6810 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
6811 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
6812 . "$HOME/.cargo/env"
6813 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
6814 rustup show
6815 if: runner.os == 'Linux'
6816 name: rustup (Linux)
6817 shell: bash
6818 - run: |
6819 set -x
6820 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
6821 ./rustup-init.exe -y --default-toolchain=1.95.0
6822 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
6823 if: runner.os == 'Windows' && runner.arch == 'X64'
6824 name: rustup (Windows X64)
6825 shell: bash
6826 - run: |
6827 set -x
6828 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
6829 ./rustup-init.exe -y --default-toolchain=1.95.0
6830 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
6831 if: runner.os == 'Windows' && runner.arch == 'ARM64'
6832 name: rustup (Windows ARM64)
6833 shell: bash
6834 - uses: actions/checkout@v6
6835 with:
6836 path: flowey_bootstrap
6837 - name: Build flowey
6838 run: |
6839 set -x
6840 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
6841 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6842 mkdir -p "$OutDirNormal"
6843 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
6844 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
6845 working-directory: flowey_bootstrap
6846 shell: bash
6847 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
6848 shell: bash
6849 name: 🌼📦 Add flowey to PATH
6850 - name: 🌼🔎 Self-check YAML
6851 run: |-
6852 ESCAPED_AGENT_TEMPDIR=$(
6853 cat <<'EOF' | sed 's/\\/\\\\/g'
6854 ${{ runner.temp }}
6855 EOF
6856 )
6857 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
6858 shell: bash
6859 - name: 🌼🛫 Initialize job
6860 run: |
6861 AgentTempDirNormal="${{ runner.temp }}"
6862 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6863 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6864
6865 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
6866
6867 echo '"debug"' | flowey.exe v 5 'FLOWEY_LOG' update
6868 echo "${{ runner.temp }}/work" | flowey.exe v 5 '_internal_WORKING_DIR' --is-raw-string update
6869
6870 cat <<'EOF' | flowey.exe v 5 'verbose' update
6871 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6872 EOF
6873 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm"
6874 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update
6875 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-prep_steps"
6876 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-prep_steps" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-prep_steps' --is-raw-string update
6877 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server"
6878 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-test_igvm_agent_rpc_server" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-test_igvm_agent_rpc_server' --is-raw-string update
6879 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tmk_vmm"
6880 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-tmk_vmm' --is-raw-string update
6881 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tpm_guest_tests"
6882 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tpm_guest_tests" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-tpm_guest_tests' --is-raw-string update
6883 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgstool"
6884 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-vmgstool' --is-raw-string update
6885 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgstool-dev"
6886 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-vmgstool-dev' --is-raw-string update
6887 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-archive"
6888 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-vmm-tests-archive' --is-raw-string update
6889 shell: bash
6890 - name: add default cargo home to path
6891 run: flowey.exe e 5 flowey_lib_common::install_rust 0
6892 shell: bash
6893 - name: install Rust
6894 run: flowey.exe e 5 flowey_lib_common::install_rust 1
6895 shell: bash
6896 - name: detect active toolchain
6897 run: |-
6898 flowey.exe e 5 flowey_lib_common::install_rust 2
6899 flowey.exe e 5 flowey_lib_common::cfg_cargo_common_flags 0
6900 shell: bash
6901 - name: check if openvmm needs to be cloned
6902 run: |-
6903 flowey.exe e 5 flowey_lib_common::git_checkout 0
6904 flowey.exe v 5 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
6905 flowey.exe v 5 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
6906 shell: bash
6907 - id: flowey_lib_common__git_checkout__1
6908 uses: actions/checkout@v6
6909 with:
6910 fetch-depth: '1'
6911 path: repo0
6912 persist-credentials: ${{ env.floweyvar1 }}
6913 name: checkout repo openvmm
6914 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6915 - name: report cloned repo directories
6916 run: |-
6917 flowey.exe v 5 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
6918 ${{ github.workspace }}
6919 EOF
6920 flowey.exe e 5 flowey_lib_common::git_checkout 3
6921 flowey.exe e 5 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6922 shell: bash
6923 - name: set '-Dwarnings' in .cargo/config.toml
6924 run: flowey.exe e 5 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
6925 shell: bash
6926 - name: create gh-release-download cache dir
6927 run: flowey.exe e 5 flowey_lib_common::download_gh_release 0
6928 shell: bash
6929 - name: Pre-processing cache vars
6930 run: |-
6931 flowey.exe e 5 flowey_lib_common::cache 4
6932 flowey.exe v 5 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
6933 flowey.exe v 5 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
6934 shell: bash
6935 - id: flowey_lib_common__cache__5
6936 uses: actions/cache@v5
6937 with:
6938 key: ${{ env.floweyvar4 }}
6939 path: ${{ env.floweyvar5 }}
6940 name: 'Restore cache: gh-release-download'
6941 - name: download artifacts from github releases
6942 run: |-
6943 flowey.exe v 5 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
6944 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
6945 EOF
6946 flowey.exe e 5 flowey_lib_common::cache 6
6947 flowey.exe e 5 flowey_lib_common::download_gh_release 1
6948 shell: bash
6949 - name: unpack protoc
6950 run: |-
6951 flowey.exe e 5 flowey_lib_common::resolve_protoc 0
6952 flowey.exe e 5 flowey_lib_hvlite::cfg_openvmm_magicpath 0
6953 shell: bash
6954 - name: symlink protoc
6955 run: |-
6956 flowey.exe e 5 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
6957 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 5
6958 shell: bash
6959 - name: cargo build openvmm
6960 run: |-
6961 flowey.exe e 5 flowey_lib_common::run_cargo_build 0
6962 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 0
6963 flowey.exe e 5 flowey_lib_hvlite::build_openvmm 0
6964 flowey.exe e 5 flowey_core::pipeline::artifact::publish 0
6965 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 1
6966 shell: bash
6967 - name: cargo build tmk_vmm
6968 run: |-
6969 flowey.exe e 5 flowey_lib_common::run_cargo_build 3
6970 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 5
6971 flowey.exe e 5 flowey_lib_hvlite::build_tmk_vmm 0
6972 flowey.exe e 5 flowey_core::pipeline::artifact::publish 1
6973 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 6
6974 shell: bash
6975 - name: cargo build prep_steps
6976 run: |-
6977 flowey.exe e 5 flowey_lib_common::run_cargo_build 1
6978 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 1
6979 flowey.exe e 5 flowey_lib_hvlite::build_prep_steps 0
6980 flowey.exe e 5 flowey_core::pipeline::artifact::publish 2
6981 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 4
6982 shell: bash
6983 - name: cargo build vmgstool
6984 run: |-
6985 flowey.exe e 5 flowey_lib_common::run_cargo_build 6
6986 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 10
6987 flowey.exe e 5 flowey_lib_hvlite::build_vmgstool 0
6988 flowey.exe e 5 flowey_core::pipeline::artifact::publish 3
6989 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 3
6990 shell: bash
6991 - name: cargo build vmgstool
6992 run: |-
6993 flowey.exe e 5 flowey_lib_common::run_cargo_build 5
6994 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 9
6995 flowey.exe e 5 flowey_lib_hvlite::build_vmgstool 1
6996 flowey.exe e 5 flowey_core::pipeline::artifact::publish 4
6997 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 2
6998 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 6
6999 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 7
7000 shell: bash
7001 - name: cargo build tpm_guest_tests
7002 run: |-
7003 flowey.exe e 5 flowey_lib_common::run_cargo_build 4
7004 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 8
7005 flowey.exe e 5 flowey_lib_hvlite::build_tpm_guest_tests 0
7006 flowey.exe e 5 flowey_core::pipeline::artifact::publish 5
7007 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 7
7008 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 2
7009 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 3
7010 shell: bash
7011 - name: cargo build test_igvm_agent_rpc_server
7012 run: |-
7013 flowey.exe e 5 flowey_lib_common::run_cargo_build 2
7014 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 4
7015 flowey.exe e 5 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0
7016 flowey.exe e 5 flowey_core::pipeline::artifact::publish 6
7017 shell: bash
7018 - name: create cargo-nextest cache dir
7019 run: |-
7020 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0
7021 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1
7022 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2
7023 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3
7024 shell: bash
7025 - name: Pre-processing cache vars
7026 run: |-
7027 flowey.exe e 5 flowey_lib_common::cache 0
7028 flowey.exe v 5 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
7029 flowey.exe v 5 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
7030 shell: bash
7031 - id: flowey_lib_common__cache__1
7032 uses: actions/cache@v5
7033 with:
7034 key: ${{ env.floweyvar2 }}
7035 path: ${{ env.floweyvar3 }}
7036 name: 'Restore cache: cargo-nextest'
7037 - name: downloading cargo-nextest
7038 run: |-
7039 flowey.exe v 5 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
7040 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
7041 EOF
7042 flowey.exe e 5 flowey_lib_common::cache 2
7043 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4
7044 shell: bash
7045 - name: report $CARGO_HOME
7046 run: flowey.exe e 5 flowey_lib_common::install_rust 3
7047 shell: bash
7048 - name: installing cargo-nextest
7049 run: |-
7050 flowey.exe e 5 flowey_lib_common::install_cargo_nextest 0
7051 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 0
7052 shell: bash
7053 - name: build + archive 'vmm_tests' nextests
7054 run: |-
7055 flowey.exe e 5 flowey_lib_common::run_cargo_nextest_archive 0
7056 flowey.exe e 5 flowey_lib_hvlite::build_nextest_vmm_tests 0
7057 flowey.exe e 5 flowey_core::pipeline::artifact::publish 7
7058 shell: bash
7059 - name: 'validate cache entry: cargo-nextest'
7060 run: flowey.exe e 5 flowey_lib_common::cache 3
7061 shell: bash
7062 - name: 'validate cache entry: gh-release-download'
7063 run: flowey.exe e 5 flowey_lib_common::cache 7
7064 shell: bash
7065 - name: 🌼📦 Publish aarch64-windows-openvmm
7066 uses: actions/upload-artifact@v7
7067 with:
7068 name: aarch64-windows-openvmm
7069 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/
7070 include-hidden-files: true
7071 - name: 🌼📦 Publish aarch64-windows-prep_steps
7072 uses: actions/upload-artifact@v7
7073 with:
7074 name: aarch64-windows-prep_steps
7075 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/
7076 include-hidden-files: true
7077 - name: 🌼📦 Publish aarch64-windows-test_igvm_agent_rpc_server
7078 uses: actions/upload-artifact@v7
7079 with:
7080 name: aarch64-windows-test_igvm_agent_rpc_server
7081 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server/
7082 include-hidden-files: true
7083 - name: 🌼📦 Publish aarch64-windows-tmk_vmm
7084 uses: actions/upload-artifact@v7
7085 with:
7086 name: aarch64-windows-tmk_vmm
7087 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/
7088 include-hidden-files: true
7089 - name: 🌼📦 Publish aarch64-windows-tpm_guest_tests
7090 uses: actions/upload-artifact@v7
7091 with:
7092 name: aarch64-windows-tpm_guest_tests
7093 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tpm_guest_tests/
7094 include-hidden-files: true
7095 - name: 🌼📦 Publish aarch64-windows-vmgstool
7096 uses: actions/upload-artifact@v7
7097 with:
7098 name: aarch64-windows-vmgstool
7099 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/
7100 include-hidden-files: true
7101 - name: 🌼📦 Publish aarch64-windows-vmgstool-dev
7102 uses: actions/upload-artifact@v7
7103 with:
7104 name: aarch64-windows-vmgstool-dev
7105 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool-dev/
7106 include-hidden-files: true
7107 - name: 🌼📦 Publish aarch64-windows-vmm-tests-archive
7108 uses: actions/upload-artifact@v7
7109 with:
7110 name: aarch64-windows-vmm-tests-archive
7111 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/
7112 include-hidden-files: true
7113 job6:
7114 name: build artifacts (not for VMM tests) [x64-windows]
7115 runs-on:
7116 - self-hosted
7117 - 1ES.Pool=openvmm-gh-amd-westus3
7118 - 1ES.ImageOverride=win-amd64
7119 - JobId=job6-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
7120 permissions:
7121 contents: read
7122 id-token: write
7123 needs:
7124 - job0
7125 if: github.event.pull_request.draft == false
7126 steps:
7127 - run: |
7128 set -x
7129 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
7130 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
7131 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
7132 . "$HOME/.cargo/env"
7133 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
7134 rustup show
7135 if: runner.os == 'Linux'
7136 name: rustup (Linux)
7137 shell: bash
7138 - run: |
7139 set -x
7140 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
7141 ./rustup-init.exe -y --default-toolchain=1.95.0
7142 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
7143 if: runner.os == 'Windows' && runner.arch == 'X64'
7144 name: rustup (Windows X64)
7145 shell: bash
7146 - run: |
7147 set -x
7148 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
7149 ./rustup-init.exe -y --default-toolchain=1.95.0
7150 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
7151 if: runner.os == 'Windows' && runner.arch == 'ARM64'
7152 name: rustup (Windows ARM64)
7153 shell: bash
7154 - uses: actions/checkout@v6
7155 with:
7156 path: flowey_bootstrap
7157 - name: Build flowey
7158 run: |
7159 set -x
7160 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
7161 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7162 mkdir -p "$OutDirNormal"
7163 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
7164 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
7165 working-directory: flowey_bootstrap
7166 shell: bash
7167 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
7168 shell: bash
7169 name: 🌼📦 Add flowey to PATH
7170 - name: 🌼🔎 Self-check YAML
7171 run: |-
7172 ESCAPED_AGENT_TEMPDIR=$(
7173 cat <<'EOF' | sed 's/\\/\\\\/g'
7174 ${{ runner.temp }}
7175 EOF
7176 )
7177 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
7178 shell: bash
7179 - name: 🌼🛫 Initialize job
7180 run: |
7181 AgentTempDirNormal="${{ runner.temp }}"
7182 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7183 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
7184
7185 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
7186
7187 echo '"debug"' | flowey.exe v 6 'FLOWEY_LOG' update
7188 echo "${{ runner.temp }}/work" | flowey.exe v 6 '_internal_WORKING_DIR' --is-raw-string update
7189
7190 cat <<'EOF' | flowey.exe v 6 'verbose' update
7191 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
7192 EOF
7193 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-hypestv"
7194 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-hypestv" | flowey.exe v 6 'artifact_publish_from_x64-windows-hypestv' --is-raw-string update
7195 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-igvmfilegen"
7196 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-igvmfilegen" | flowey.exe v 6 'artifact_publish_from_x64-windows-igvmfilegen' --is-raw-string update
7197 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-ohcldiag-dev"
7198 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update
7199 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib"
7200 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update
7201 shell: bash
7202 - name: add default cargo home to path
7203 run: flowey.exe e 6 flowey_lib_common::install_rust 0
7204 shell: bash
7205 - name: install Rust
7206 run: flowey.exe e 6 flowey_lib_common::install_rust 1
7207 shell: bash
7208 - name: detect active toolchain
7209 run: |-
7210 flowey.exe e 6 flowey_lib_common::install_rust 2
7211 flowey.exe e 6 flowey_lib_common::cfg_cargo_common_flags 0
7212 shell: bash
7213 - name: check if openvmm needs to be cloned
7214 run: |-
7215 flowey.exe e 6 flowey_lib_common::git_checkout 0
7216 flowey.exe v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
7217 flowey.exe v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
7218 shell: bash
7219 - id: flowey_lib_common__git_checkout__1
7220 uses: actions/checkout@v6
7221 with:
7222 fetch-depth: '1'
7223 path: repo0
7224 persist-credentials: ${{ env.floweyvar1 }}
7225 name: checkout repo openvmm
7226 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
7227 - name: report cloned repo directories
7228 run: |-
7229 flowey.exe v 6 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
7230 ${{ github.workspace }}
7231 EOF
7232 flowey.exe e 6 flowey_lib_common::git_checkout 3
7233 flowey.exe e 6 flowey_lib_hvlite::git_checkout_openvmm_repo 0
7234 shell: bash
7235 - name: set '-Dwarnings' in .cargo/config.toml
7236 run: flowey.exe e 6 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
7237 shell: bash
7238 - name: create gh-release-download cache dir
7239 run: flowey.exe e 6 flowey_lib_common::download_gh_release 0
7240 shell: bash
7241 - name: Pre-processing cache vars
7242 run: |-
7243 flowey.exe e 6 flowey_lib_common::cache 0
7244 flowey.exe v 6 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
7245 flowey.exe v 6 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
7246 shell: bash
7247 - id: flowey_lib_common__cache__1
7248 uses: actions/cache@v5
7249 with:
7250 key: ${{ env.floweyvar2 }}
7251 path: ${{ env.floweyvar3 }}
7252 name: 'Restore cache: gh-release-download'
7253 - name: download artifacts from github releases
7254 run: |-
7255 flowey.exe v 6 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
7256 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
7257 EOF
7258 flowey.exe e 6 flowey_lib_common::cache 2
7259 flowey.exe e 6 flowey_lib_common::download_gh_release 1
7260 shell: bash
7261 - name: unpack protoc
7262 run: |-
7263 flowey.exe e 6 flowey_lib_common::resolve_protoc 0
7264 flowey.exe e 6 flowey_lib_hvlite::cfg_openvmm_magicpath 0
7265 shell: bash
7266 - name: symlink protoc
7267 run: |-
7268 flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
7269 flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1
7270 shell: bash
7271 - name: cargo build hypestv
7272 run: |-
7273 flowey.exe e 6 flowey_lib_common::run_cargo_build 0
7274 flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 0
7275 flowey.exe e 6 flowey_lib_hvlite::build_hypestv 0
7276 flowey.exe e 6 flowey_core::pipeline::artifact::publish 0
7277 flowey.exe e 6 flowey_lib_hvlite::init_cross_build 0
7278 shell: bash
7279 - name: cargo build vmgs_lib
7280 run: |-
7281 flowey.exe e 6 flowey_lib_common::run_cargo_build 3
7282 flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 3
7283 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 0
7284 shell: bash
7285 - name: test vmgs_lib
7286 run: |-
7287 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1
7288 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2
7289 flowey.exe e 6 flowey_core::pipeline::artifact::publish 1
7290 flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2
7291 shell: bash
7292 - name: cargo build igvmfilegen
7293 run: |-
7294 flowey.exe e 6 flowey_lib_common::run_cargo_build 1
7295 flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1
7296 flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0
7297 flowey.exe e 6 flowey_core::pipeline::artifact::publish 2
7298 flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3
7299 shell: bash
7300 - name: cargo build ohcldiag-dev
7301 run: |-
7302 flowey.exe e 6 flowey_lib_common::run_cargo_build 2
7303 flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2
7304 flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0
7305 flowey.exe e 6 flowey_core::pipeline::artifact::publish 3
7306 shell: bash
7307 - name: 'validate cache entry: gh-release-download'
7308 run: flowey.exe e 6 flowey_lib_common::cache 3
7309 shell: bash
7310 - name: 🌼📦 Publish x64-windows-hypestv
7311 uses: actions/upload-artifact@v7
7312 with:
7313 name: x64-windows-hypestv
7314 path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/
7315 include-hidden-files: true
7316 - name: 🌼📦 Publish x64-windows-igvmfilegen
7317 uses: actions/upload-artifact@v7
7318 with:
7319 name: x64-windows-igvmfilegen
7320 path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/
7321 include-hidden-files: true
7322 - name: 🌼📦 Publish x64-windows-ohcldiag-dev
7323 uses: actions/upload-artifact@v7
7324 with:
7325 name: x64-windows-ohcldiag-dev
7326 path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/
7327 include-hidden-files: true
7328 - name: 🌼📦 Publish x64-windows-vmgs_lib
7329 uses: actions/upload-artifact@v7
7330 with:
7331 name: x64-windows-vmgs_lib
7332 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/
7333 include-hidden-files: true
7334 job7:
7335 name: build artifacts (for VMM tests) [x64-windows]
7336 runs-on:
7337 - self-hosted
7338 - 1ES.Pool=openvmm-gh-amd-westus3
7339 - 1ES.ImageOverride=win-amd64
7340 - JobId=job7-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
7341 permissions:
7342 contents: read
7343 id-token: write
7344 needs:
7345 - job0
7346 if: github.event.pull_request.draft == false
7347 steps:
7348 - run: |
7349 set -x
7350 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
7351 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
7352 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
7353 . "$HOME/.cargo/env"
7354 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
7355 rustup show
7356 if: runner.os == 'Linux'
7357 name: rustup (Linux)
7358 shell: bash
7359 - run: |
7360 set -x
7361 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
7362 ./rustup-init.exe -y --default-toolchain=1.95.0
7363 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
7364 if: runner.os == 'Windows' && runner.arch == 'X64'
7365 name: rustup (Windows X64)
7366 shell: bash
7367 - run: |
7368 set -x
7369 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
7370 ./rustup-init.exe -y --default-toolchain=1.95.0
7371 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
7372 if: runner.os == 'Windows' && runner.arch == 'ARM64'
7373 name: rustup (Windows ARM64)
7374 shell: bash
7375 - uses: actions/checkout@v6
7376 with:
7377 path: flowey_bootstrap
7378 - name: Build flowey
7379 run: |
7380 set -x
7381 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
7382 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7383 mkdir -p "$OutDirNormal"
7384 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
7385 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
7386 working-directory: flowey_bootstrap
7387 shell: bash
7388 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
7389 shell: bash
7390 name: 🌼📦 Add flowey to PATH
7391 - name: 🌼🔎 Self-check YAML
7392 run: |-
7393 ESCAPED_AGENT_TEMPDIR=$(
7394 cat <<'EOF' | sed 's/\\/\\\\/g'
7395 ${{ runner.temp }}
7396 EOF
7397 )
7398 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
7399 shell: bash
7400 - name: 🌼🛫 Initialize job
7401 run: |
7402 AgentTempDirNormal="${{ runner.temp }}"
7403 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7404 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
7405
7406 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
7407
7408 echo '"debug"' | flowey.exe v 7 'FLOWEY_LOG' update
7409 echo "${{ runner.temp }}/work" | flowey.exe v 7 '_internal_WORKING_DIR' --is-raw-string update
7410
7411 cat <<'EOF' | flowey.exe v 7 'verbose' update
7412 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
7413 EOF
7414 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-openvmm"
7415 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-openvmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update
7416 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-prep_steps"
7417 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-prep_steps" | flowey.exe v 7 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update
7418 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-test_igvm_agent_rpc_server"
7419 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 7 'artifact_publish_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
7420 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tmk_vmm"
7421 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update
7422 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tpm_guest_tests"
7423 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 7 'artifact_publish_from_x64-windows-tpm_guest_tests' --is-raw-string update
7424 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool"
7425 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update
7426 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool-dev"
7427 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmgstool-dev' --is-raw-string update
7428 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-tests-archive"
7429 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmm-tests-archive' --is-raw-string update
7430 shell: bash
7431 - name: add default cargo home to path
7432 run: flowey.exe e 7 flowey_lib_common::install_rust 0
7433 shell: bash
7434 - name: install Rust
7435 run: flowey.exe e 7 flowey_lib_common::install_rust 1
7436 shell: bash
7437 - name: detect active toolchain
7438 run: |-
7439 flowey.exe e 7 flowey_lib_common::install_rust 2
7440 flowey.exe e 7 flowey_lib_common::cfg_cargo_common_flags 0
7441 shell: bash
7442 - name: check if openvmm needs to be cloned
7443 run: |-
7444 flowey.exe e 7 flowey_lib_common::git_checkout 0
7445 flowey.exe v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
7446 flowey.exe v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
7447 shell: bash
7448 - id: flowey_lib_common__git_checkout__1
7449 uses: actions/checkout@v6
7450 with:
7451 fetch-depth: '1'
7452 path: repo0
7453 persist-credentials: ${{ env.floweyvar1 }}
7454 name: checkout repo openvmm
7455 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
7456 - name: report cloned repo directories
7457 run: |-
7458 flowey.exe v 7 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
7459 ${{ github.workspace }}
7460 EOF
7461 flowey.exe e 7 flowey_lib_common::git_checkout 3
7462 flowey.exe e 7 flowey_lib_hvlite::git_checkout_openvmm_repo 0
7463 shell: bash
7464 - name: set '-Dwarnings' in .cargo/config.toml
7465 run: flowey.exe e 7 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
7466 shell: bash
7467 - name: create gh-release-download cache dir
7468 run: flowey.exe e 7 flowey_lib_common::download_gh_release 0
7469 shell: bash
7470 - name: Pre-processing cache vars
7471 run: |-
7472 flowey.exe e 7 flowey_lib_common::cache 4
7473 flowey.exe v 7 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
7474 flowey.exe v 7 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
7475 shell: bash
7476 - id: flowey_lib_common__cache__5
7477 uses: actions/cache@v5
7478 with:
7479 key: ${{ env.floweyvar4 }}
7480 path: ${{ env.floweyvar5 }}
7481 name: 'Restore cache: gh-release-download'
7482 - name: download artifacts from github releases
7483 run: |-
7484 flowey.exe v 7 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
7485 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
7486 EOF
7487 flowey.exe e 7 flowey_lib_common::cache 6
7488 flowey.exe e 7 flowey_lib_common::download_gh_release 1
7489 shell: bash
7490 - name: unpack protoc
7491 run: |-
7492 flowey.exe e 7 flowey_lib_common::resolve_protoc 0
7493 flowey.exe e 7 flowey_lib_hvlite::cfg_openvmm_magicpath 0
7494 shell: bash
7495 - name: symlink protoc
7496 run: |-
7497 flowey.exe e 7 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
7498 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 5
7499 shell: bash
7500 - name: cargo build openvmm
7501 run: |-
7502 flowey.exe e 7 flowey_lib_common::run_cargo_build 0
7503 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 0
7504 flowey.exe e 7 flowey_lib_hvlite::build_openvmm 0
7505 flowey.exe e 7 flowey_core::pipeline::artifact::publish 0
7506 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 1
7507 shell: bash
7508 - name: cargo build tmk_vmm
7509 run: |-
7510 flowey.exe e 7 flowey_lib_common::run_cargo_build 3
7511 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 5
7512 flowey.exe e 7 flowey_lib_hvlite::build_tmk_vmm 0
7513 flowey.exe e 7 flowey_core::pipeline::artifact::publish 1
7514 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 6
7515 shell: bash
7516 - name: cargo build prep_steps
7517 run: |-
7518 flowey.exe e 7 flowey_lib_common::run_cargo_build 1
7519 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 1
7520 flowey.exe e 7 flowey_lib_hvlite::build_prep_steps 0
7521 flowey.exe e 7 flowey_core::pipeline::artifact::publish 2
7522 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 4
7523 shell: bash
7524 - name: cargo build vmgstool
7525 run: |-
7526 flowey.exe e 7 flowey_lib_common::run_cargo_build 6
7527 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 10
7528 flowey.exe e 7 flowey_lib_hvlite::build_vmgstool 0
7529 flowey.exe e 7 flowey_core::pipeline::artifact::publish 3
7530 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 3
7531 shell: bash
7532 - name: cargo build vmgstool
7533 run: |-
7534 flowey.exe e 7 flowey_lib_common::run_cargo_build 5
7535 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 9
7536 flowey.exe e 7 flowey_lib_hvlite::build_vmgstool 1
7537 flowey.exe e 7 flowey_core::pipeline::artifact::publish 4
7538 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 2
7539 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 6
7540 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 7
7541 shell: bash
7542 - name: cargo build tpm_guest_tests
7543 run: |-
7544 flowey.exe e 7 flowey_lib_common::run_cargo_build 4
7545 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 8
7546 flowey.exe e 7 flowey_lib_hvlite::build_tpm_guest_tests 0
7547 flowey.exe e 7 flowey_core::pipeline::artifact::publish 5
7548 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 7
7549 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 2
7550 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 3
7551 shell: bash
7552 - name: cargo build test_igvm_agent_rpc_server
7553 run: |-
7554 flowey.exe e 7 flowey_lib_common::run_cargo_build 2
7555 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 4
7556 flowey.exe e 7 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0
7557 flowey.exe e 7 flowey_core::pipeline::artifact::publish 6
7558 shell: bash
7559 - name: create cargo-nextest cache dir
7560 run: |-
7561 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0
7562 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1
7563 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2
7564 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3
7565 shell: bash
7566 - name: Pre-processing cache vars
7567 run: |-
7568 flowey.exe e 7 flowey_lib_common::cache 0
7569 flowey.exe v 7 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
7570 flowey.exe v 7 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
7571 shell: bash
7572 - id: flowey_lib_common__cache__1
7573 uses: actions/cache@v5
7574 with:
7575 key: ${{ env.floweyvar2 }}
7576 path: ${{ env.floweyvar3 }}
7577 name: 'Restore cache: cargo-nextest'
7578 - name: downloading cargo-nextest
7579 run: |-
7580 flowey.exe v 7 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
7581 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
7582 EOF
7583 flowey.exe e 7 flowey_lib_common::cache 2
7584 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4
7585 shell: bash
7586 - name: report $CARGO_HOME
7587 run: flowey.exe e 7 flowey_lib_common::install_rust 3
7588 shell: bash
7589 - name: installing cargo-nextest
7590 run: |-
7591 flowey.exe e 7 flowey_lib_common::install_cargo_nextest 0
7592 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 0
7593 shell: bash
7594 - name: build + archive 'vmm_tests' nextests
7595 run: |-
7596 flowey.exe e 7 flowey_lib_common::run_cargo_nextest_archive 0
7597 flowey.exe e 7 flowey_lib_hvlite::build_nextest_vmm_tests 0
7598 flowey.exe e 7 flowey_core::pipeline::artifact::publish 7
7599 shell: bash
7600 - name: 'validate cache entry: cargo-nextest'
7601 run: flowey.exe e 7 flowey_lib_common::cache 3
7602 shell: bash
7603 - name: 'validate cache entry: gh-release-download'
7604 run: flowey.exe e 7 flowey_lib_common::cache 7
7605 shell: bash
7606 - name: 🌼📦 Publish x64-windows-openvmm
7607 uses: actions/upload-artifact@v7
7608 with:
7609 name: x64-windows-openvmm
7610 path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/
7611 include-hidden-files: true
7612 - name: 🌼📦 Publish x64-windows-prep_steps
7613 uses: actions/upload-artifact@v7
7614 with:
7615 name: x64-windows-prep_steps
7616 path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/
7617 include-hidden-files: true
7618 - name: 🌼📦 Publish x64-windows-test_igvm_agent_rpc_server
7619 uses: actions/upload-artifact@v7
7620 with:
7621 name: x64-windows-test_igvm_agent_rpc_server
7622 path: ${{ runner.temp }}/publish_artifacts/x64-windows-test_igvm_agent_rpc_server/
7623 include-hidden-files: true
7624 - name: 🌼📦 Publish x64-windows-tmk_vmm
7625 uses: actions/upload-artifact@v7
7626 with:
7627 name: x64-windows-tmk_vmm
7628 path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/
7629 include-hidden-files: true
7630 - name: 🌼📦 Publish x64-windows-tpm_guest_tests
7631 uses: actions/upload-artifact@v7
7632 with:
7633 name: x64-windows-tpm_guest_tests
7634 path: ${{ runner.temp }}/publish_artifacts/x64-windows-tpm_guest_tests/
7635 include-hidden-files: true
7636 - name: 🌼📦 Publish x64-windows-vmgstool
7637 uses: actions/upload-artifact@v7
7638 with:
7639 name: x64-windows-vmgstool
7640 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/
7641 include-hidden-files: true
7642 - name: 🌼📦 Publish x64-windows-vmgstool-dev
7643 uses: actions/upload-artifact@v7
7644 with:
7645 name: x64-windows-vmgstool-dev
7646 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool-dev/
7647 include-hidden-files: true
7648 - name: 🌼📦 Publish x64-windows-vmm-tests-archive
7649 uses: actions/upload-artifact@v7
7650 with:
7651 name: x64-windows-vmm-tests-archive
7652 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/
7653 include-hidden-files: true
7654 - name: 🌼🧼 Redact bootstrap var db
7655 run: rm $AgentTempDirNormal/bootstrapped-flowey/job7.json
7656 shell: bash
7657 - name: 🌼🥾 Publish bootstrapped flowey
7658 uses: actions/upload-artifact@v7
7659 with:
7660 name: _internal-flowey-bootstrap-x86_64-windows-uid-6
7661 path: ${{ runner.temp }}/bootstrapped-flowey
7662 job8:
7663 name: build artifacts (for VMM tests) [aarch64-linux]
7664 runs-on:
7665 - self-hosted
7666 - 1ES.Pool=openvmm-gh-amd-westus3
7667 - 1ES.ImageOverride=ubuntu2404-amd64
7668 - JobId=job8-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
7669 permissions:
7670 contents: read
7671 id-token: write
7672 needs:
7673 - job0
7674 if: github.event.pull_request.draft == false
7675 steps:
7676 - name: 🌼📦 Download artifacts
7677 uses: actions/download-artifact@v8
7678 with:
7679 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
7680 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
7681 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
7682 shell: bash
7683 name: 🌼📦 Add flowey to PATH
7684 - name: 🌼🛫 Initialize job
7685 run: |
7686 AgentTempDirNormal="${{ runner.temp }}"
7687 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7688 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
7689
7690 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
7691
7692 echo '"debug"' | flowey v 8 'FLOWEY_LOG' update
7693 echo "${{ runner.temp }}/work" | flowey v 8 '_internal_WORKING_DIR' --is-raw-string update
7694
7695 cat <<'EOF' | flowey v 8 'verbose' update
7696 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
7697 EOF
7698 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen"
7699 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 8 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update
7700 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm"
7701 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update
7702 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost"
7703 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update
7704 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev"
7705 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update
7706 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm"
7707 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update
7708 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost"
7709 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update
7710 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-prep_steps"
7711 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-prep_steps" | flowey v 8 'artifact_publish_from_aarch64-linux-prep_steps' --is-raw-string update
7712 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib"
7713 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update
7714 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool"
7715 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update
7716 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev"
7717 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update
7718 shell: bash
7719 - name: add default cargo home to path
7720 run: flowey e 8 flowey_lib_common::install_rust 0
7721 shell: bash
7722 - name: install Rust
7723 run: flowey e 8 flowey_lib_common::install_rust 1
7724 shell: bash
7725 - name: detect active toolchain
7726 run: |-
7727 flowey e 8 flowey_lib_common::install_rust 2
7728 flowey e 8 flowey_lib_common::cfg_cargo_common_flags 0
7729 shell: bash
7730 - name: checking if packages need to be installed
7731 run: flowey e 8 flowey_lib_common::install_dist_pkg 0
7732 shell: bash
7733 - name: installing packages
7734 run: flowey e 8 flowey_lib_common::install_dist_pkg 1
7735 shell: bash
7736 - name: check if openvmm needs to be cloned
7737 run: |-
7738 flowey e 8 flowey_lib_common::git_checkout 0
7739 flowey v 8 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
7740 flowey v 8 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
7741 shell: bash
7742 - id: flowey_lib_common__git_checkout__1
7743 uses: actions/checkout@v6
7744 with:
7745 fetch-depth: '1'
7746 path: repo0
7747 persist-credentials: ${{ env.floweyvar1 }}
7748 name: checkout repo openvmm
7749 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
7750 - name: report cloned repo directories
7751 run: |-
7752 flowey v 8 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
7753 ${{ github.workspace }}
7754 EOF
7755 flowey e 8 flowey_lib_common::git_checkout 3
7756 flowey e 8 flowey_lib_hvlite::git_checkout_openvmm_repo 0
7757 shell: bash
7758 - name: set '-Dwarnings' in .cargo/config.toml
7759 run: flowey e 8 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
7760 shell: bash
7761 - name: create gh-release-download cache dir
7762 run: flowey e 8 flowey_lib_common::download_gh_release 0
7763 shell: bash
7764 - name: Pre-processing cache vars
7765 run: |-
7766 flowey e 8 flowey_lib_common::cache 0
7767 flowey v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
7768 flowey v 8 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
7769 shell: bash
7770 - id: flowey_lib_common__cache__1
7771 uses: actions/cache@v5
7772 with:
7773 key: ${{ env.floweyvar2 }}
7774 path: ${{ env.floweyvar3 }}
7775 name: 'Restore cache: gh-release-download'
7776 - name: download artifacts from github releases
7777 run: |-
7778 flowey v 8 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
7779 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
7780 EOF
7781 flowey e 8 flowey_lib_common::cache 2
7782 flowey e 8 flowey_lib_common::download_gh_release 1
7783 shell: bash
7784 - name: unpack protoc
7785 run: |-
7786 flowey e 8 flowey_lib_common::resolve_protoc 0
7787 flowey e 8 flowey_lib_hvlite::cfg_openvmm_magicpath 0
7788 shell: bash
7789 - name: symlink protoc
7790 run: |-
7791 flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
7792 flowey e 8 flowey_lib_hvlite::init_cross_build 0
7793 shell: bash
7794 - name: cargo build openvmm
7795 run: |-
7796 flowey e 8 flowey_lib_common::run_cargo_build 2
7797 flowey e 8 flowey_lib_hvlite::run_cargo_build 4
7798 shell: bash
7799 - name: split debug symbols
7800 run: |-
7801 flowey e 8 flowey_lib_hvlite::run_split_debug_info 1
7802 flowey e 8 flowey_lib_hvlite::run_cargo_build 5
7803 flowey e 8 flowey_lib_hvlite::build_openvmm 0
7804 flowey e 8 flowey_core::pipeline::artifact::publish 0
7805 flowey e 8 flowey_lib_hvlite::init_cross_build 2
7806 shell: bash
7807 - name: cargo build openvmm_vhost
7808 run: |-
7809 flowey e 8 flowey_lib_common::run_cargo_build 4
7810 flowey e 8 flowey_lib_hvlite::run_cargo_build 8
7811 shell: bash
7812 - name: split debug symbols
7813 run: |-
7814 flowey e 8 flowey_lib_hvlite::run_split_debug_info 3
7815 flowey e 8 flowey_lib_hvlite::run_cargo_build 9
7816 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0
7817 flowey e 8 flowey_core::pipeline::artifact::publish 1
7818 flowey e 8 flowey_lib_hvlite::init_cross_build 5
7819 shell: bash
7820 - name: cargo build vmgstool
7821 run: |-
7822 flowey e 8 flowey_lib_common::run_cargo_build 9
7823 flowey e 8 flowey_lib_hvlite::run_cargo_build 17
7824 shell: bash
7825 - name: split debug symbols
7826 run: |-
7827 flowey e 8 flowey_lib_hvlite::run_split_debug_info 8
7828 flowey e 8 flowey_lib_hvlite::run_cargo_build 18
7829 flowey e 8 flowey_lib_hvlite::build_vmgstool 0
7830 flowey e 8 flowey_core::pipeline::artifact::publish 2
7831 flowey e 8 flowey_lib_hvlite::init_cross_build 4
7832 shell: bash
7833 - name: cargo build vmgstool
7834 run: |-
7835 flowey e 8 flowey_lib_common::run_cargo_build 8
7836 flowey e 8 flowey_lib_hvlite::run_cargo_build 15
7837 shell: bash
7838 - name: split debug symbols
7839 run: |-
7840 flowey e 8 flowey_lib_hvlite::run_split_debug_info 7
7841 flowey e 8 flowey_lib_hvlite::run_cargo_build 16
7842 flowey e 8 flowey_lib_hvlite::build_vmgstool 1
7843 flowey e 8 flowey_core::pipeline::artifact::publish 3
7844 flowey e 8 flowey_lib_hvlite::init_cross_build 3
7845 shell: bash
7846 - name: cargo build vmgs_lib
7847 run: |-
7848 flowey e 8 flowey_lib_common::run_cargo_build 7
7849 flowey e 8 flowey_lib_hvlite::run_cargo_build 14
7850 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0
7851 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1
7852 flowey e 8 flowey_core::pipeline::artifact::publish 4
7853 flowey e 8 flowey_lib_hvlite::init_cross_build 1
7854 shell: bash
7855 - name: cargo build igvmfilegen
7856 run: |-
7857 flowey e 8 flowey_lib_common::run_cargo_build 0
7858 flowey e 8 flowey_lib_hvlite::run_cargo_build 0
7859 shell: bash
7860 - name: split debug symbols
7861 run: |-
7862 flowey e 8 flowey_lib_hvlite::run_split_debug_info 6
7863 flowey e 8 flowey_lib_hvlite::run_cargo_build 1
7864 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0
7865 flowey e 8 flowey_core::pipeline::artifact::publish 5
7866 flowey e 8 flowey_lib_hvlite::init_cross_build 6
7867 shell: bash
7868 - name: cargo build ohcldiag-dev
7869 run: |-
7870 flowey e 8 flowey_lib_common::run_cargo_build 1
7871 flowey e 8 flowey_lib_hvlite::run_cargo_build 2
7872 shell: bash
7873 - name: split debug symbols
7874 run: |-
7875 flowey e 8 flowey_lib_hvlite::run_split_debug_info 0
7876 flowey e 8 flowey_lib_hvlite::run_cargo_build 3
7877 flowey e 8 flowey_lib_hvlite::build_ohcldiag_dev 0
7878 flowey e 8 flowey_core::pipeline::artifact::publish 6
7879 shell: bash
7880 - name: unpack openvmm-deps archive
7881 run: flowey e 8 flowey_lib_hvlite::resolve_openvmm_deps 0
7882 shell: bash
7883 - name: extract Aarch64 sysroot.tar.gz
7884 run: |-
7885 flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
7886 flowey e 8 flowey_lib_hvlite::init_cross_build 7
7887 shell: bash
7888 - name: cargo build openvmm
7889 run: |-
7890 flowey e 8 flowey_lib_common::run_cargo_build 3
7891 flowey e 8 flowey_lib_hvlite::run_cargo_build 6
7892 shell: bash
7893 - name: split debug symbols
7894 run: |-
7895 flowey e 8 flowey_lib_hvlite::run_split_debug_info 2
7896 flowey e 8 flowey_lib_hvlite::run_cargo_build 7
7897 flowey e 8 flowey_lib_hvlite::build_openvmm 1
7898 flowey e 8 flowey_core::pipeline::artifact::publish 7
7899 flowey e 8 flowey_lib_hvlite::init_cross_build 8
7900 shell: bash
7901 - name: cargo build openvmm_vhost
7902 run: |-
7903 flowey e 8 flowey_lib_common::run_cargo_build 5
7904 flowey e 8 flowey_lib_hvlite::run_cargo_build 10
7905 shell: bash
7906 - name: split debug symbols
7907 run: |-
7908 flowey e 8 flowey_lib_hvlite::run_split_debug_info 4
7909 flowey e 8 flowey_lib_hvlite::run_cargo_build 11
7910 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1
7911 flowey e 8 flowey_core::pipeline::artifact::publish 8
7912 flowey e 8 flowey_lib_hvlite::init_cross_build 9
7913 shell: bash
7914 - name: cargo build prep_steps
7915 run: |-
7916 flowey e 8 flowey_lib_common::run_cargo_build 6
7917 flowey e 8 flowey_lib_hvlite::run_cargo_build 12
7918 shell: bash
7919 - name: split debug symbols
7920 run: |-
7921 flowey e 8 flowey_lib_hvlite::run_split_debug_info 5
7922 flowey e 8 flowey_lib_hvlite::run_cargo_build 13
7923 flowey e 8 flowey_lib_hvlite::build_prep_steps 0
7924 flowey e 8 flowey_core::pipeline::artifact::publish 9
7925 shell: bash
7926 - name: 'validate cache entry: gh-release-download'
7927 run: flowey e 8 flowey_lib_common::cache 3
7928 shell: bash
7929 - name: 🌼📦 Publish aarch64-linux-igvmfilegen
7930 uses: actions/upload-artifact@v7
7931 with:
7932 name: aarch64-linux-igvmfilegen
7933 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/
7934 include-hidden-files: true
7935 - name: 🌼📦 Publish aarch64-linux-musl-openvmm
7936 uses: actions/upload-artifact@v7
7937 with:
7938 name: aarch64-linux-musl-openvmm
7939 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/
7940 include-hidden-files: true
7941 - name: 🌼📦 Publish aarch64-linux-musl-openvmm_vhost
7942 uses: actions/upload-artifact@v7
7943 with:
7944 name: aarch64-linux-musl-openvmm_vhost
7945 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/
7946 include-hidden-files: true
7947 - name: 🌼📦 Publish aarch64-linux-ohcldiag-dev
7948 uses: actions/upload-artifact@v7
7949 with:
7950 name: aarch64-linux-ohcldiag-dev
7951 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/
7952 include-hidden-files: true
7953 - name: 🌼📦 Publish aarch64-linux-openvmm
7954 uses: actions/upload-artifact@v7
7955 with:
7956 name: aarch64-linux-openvmm
7957 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/
7958 include-hidden-files: true
7959 - name: 🌼📦 Publish aarch64-linux-openvmm_vhost
7960 uses: actions/upload-artifact@v7
7961 with:
7962 name: aarch64-linux-openvmm_vhost
7963 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm_vhost/
7964 include-hidden-files: true
7965 - name: 🌼📦 Publish aarch64-linux-prep_steps
7966 uses: actions/upload-artifact@v7
7967 with:
7968 name: aarch64-linux-prep_steps
7969 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-prep_steps/
7970 include-hidden-files: true
7971 - name: 🌼📦 Publish aarch64-linux-vmgs_lib
7972 uses: actions/upload-artifact@v7
7973 with:
7974 name: aarch64-linux-vmgs_lib
7975 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/
7976 include-hidden-files: true
7977 - name: 🌼📦 Publish aarch64-linux-vmgstool
7978 uses: actions/upload-artifact@v7
7979 with:
7980 name: aarch64-linux-vmgstool
7981 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/
7982 include-hidden-files: true
7983 - name: 🌼📦 Publish aarch64-linux-vmgstool-dev
7984 uses: actions/upload-artifact@v7
7985 with:
7986 name: aarch64-linux-vmgstool-dev
7987 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool-dev/
7988 include-hidden-files: true
7989 job9:
7990 name: build artifacts (for VMM tests) [x64-linux]
7991 runs-on:
7992 - self-hosted
7993 - 1ES.Pool=openvmm-gh-amd-westus3
7994 - 1ES.ImageOverride=ubuntu2404-amd64
7995 - JobId=job9-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
7996 permissions:
7997 contents: read
7998 id-token: write
7999 needs:
8000 - job0
8001 if: github.event.pull_request.draft == false
8002 steps:
8003 - name: 🌼📦 Download artifacts
8004 uses: actions/download-artifact@v8
8005 with:
8006 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
8007 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
8008 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
8009 shell: bash
8010 name: 🌼📦 Add flowey to PATH
8011 - name: 🌼🛫 Initialize job
8012 run: |
8013 AgentTempDirNormal="${{ runner.temp }}"
8014 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
8015 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
8016
8017 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
8018
8019 echo '"debug"' | flowey v 9 'FLOWEY_LOG' update
8020 echo "${{ runner.temp }}/work" | flowey v 9 '_internal_WORKING_DIR' --is-raw-string update
8021
8022 cat <<'EOF' | flowey v 9 'verbose' update
8023 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
8024 EOF
8025 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen"
8026 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 9 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update
8027 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm"
8028 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update
8029 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost"
8030 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update
8031 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive"
8032 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update
8033 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev"
8034 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | flowey v 9 'artifact_publish_from_x64-linux-ohcldiag-dev' --is-raw-string update
8035 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm"
8036 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-openvmm' --is-raw-string update
8037 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost"
8038 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-openvmm_vhost' --is-raw-string update
8039 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-prep_steps"
8040 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-prep_steps" | flowey v 9 'artifact_publish_from_x64-linux-prep_steps' --is-raw-string update
8041 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib"
8042 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | flowey v 9 'artifact_publish_from_x64-linux-vmgs_lib' --is-raw-string update
8043 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool"
8044 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update
8045 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev"
8046 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update
8047 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive"
8048 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update
8049 shell: bash
8050 - name: add default cargo home to path
8051 run: flowey e 9 flowey_lib_common::install_rust 0
8052 shell: bash
8053 - name: install Rust
8054 run: flowey e 9 flowey_lib_common::install_rust 1
8055 shell: bash
8056 - name: detect active toolchain
8057 run: |-
8058 flowey e 9 flowey_lib_common::install_rust 2
8059 flowey e 9 flowey_lib_common::cfg_cargo_common_flags 0
8060 shell: bash
8061 - name: checking if packages need to be installed
8062 run: flowey e 9 flowey_lib_common::install_dist_pkg 0
8063 shell: bash
8064 - name: installing packages
8065 run: flowey e 9 flowey_lib_common::install_dist_pkg 1
8066 shell: bash
8067 - name: check if openvmm needs to be cloned
8068 run: |-
8069 flowey e 9 flowey_lib_common::git_checkout 0
8070 flowey v 9 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:489:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46 write-to-env github floweyvar1
8071 flowey v 9 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
8072 shell: bash
8073 - id: flowey_lib_common__git_checkout__1
8074 uses: actions/checkout@v6
8075 with:
8076 fetch-depth: '1'
8077 path: repo0
8078 persist-credentials: ${{ env.floweyvar1 }}
8079 name: checkout repo openvmm
8080 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
8081 - name: report cloned repo directories
8082 run: |-
8083 flowey v 9 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
8084 ${{ github.workspace }}
8085 EOF
8086 flowey e 9 flowey_lib_common::git_checkout 3
8087 flowey e 9 flowey_lib_hvlite::git_checkout_openvmm_repo 0
8088 shell: bash
8089 - name: set '-Dwarnings' in .cargo/config.toml
8090 run: flowey e 9 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
8091 shell: bash
8092 - name: create gh-release-download cache dir
8093 run: flowey e 9 flowey_lib_common::download_gh_release 0
8094 shell: bash
8095 - name: Pre-processing cache vars
8096 run: |-
8097 flowey e 9 flowey_lib_common::cache 4
8098 flowey v 9 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
8099 flowey v 9 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
8100 shell: bash
8101 - id: flowey_lib_common__cache__5
8102 uses: actions/cache@v5
8103 with:
8104 key: ${{ env.floweyvar4 }}
8105 path: ${{ env.floweyvar5 }}
8106 name: 'Restore cache: gh-release-download'
8107 - name: download artifacts from github releases
8108 run: |-
8109 flowey v 9 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
8110 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
8111 EOF
8112 flowey e 9 flowey_lib_common::cache 6
8113 flowey e 9 flowey_lib_common::download_gh_release 1
8114 shell: bash
8115 - name: unpack protoc
8116 run: |-
8117 flowey e 9 flowey_lib_common::resolve_protoc 0
8118 flowey e 9 flowey_lib_hvlite::cfg_openvmm_magicpath 0
8119 shell: bash
8120 - name: symlink protoc
8121 run: |-
8122 flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
8123 flowey e 9 flowey_lib_hvlite::init_cross_build 1
8124 shell: bash
8125 - name: cargo build openvmm
8126 run: |-
8127 flowey e 9 flowey_lib_common::run_cargo_build 2
8128 flowey e 9 flowey_lib_hvlite::run_cargo_build 4
8129 shell: bash
8130 - name: split debug symbols
8131 run: |-
8132 flowey e 9 flowey_lib_hvlite::run_split_debug_info 1
8133 flowey e 9 flowey_lib_hvlite::run_cargo_build 5
8134 flowey e 9 flowey_lib_hvlite::build_openvmm 0
8135 flowey e 9 flowey_core::pipeline::artifact::publish 0
8136 flowey e 9 flowey_lib_hvlite::init_cross_build 3
8137 shell: bash
8138 - name: cargo build openvmm_vhost
8139 run: |-
8140 flowey e 9 flowey_lib_common::run_cargo_build 4
8141 flowey e 9 flowey_lib_hvlite::run_cargo_build 8
8142 shell: bash
8143 - name: split debug symbols
8144 run: |-
8145 flowey e 9 flowey_lib_hvlite::run_split_debug_info 3
8146 flowey e 9 flowey_lib_hvlite::run_cargo_build 9
8147 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 0
8148 flowey e 9 flowey_core::pipeline::artifact::publish 1
8149 flowey e 9 flowey_lib_hvlite::init_cross_build 6
8150 shell: bash
8151 - name: cargo build vmgstool
8152 run: |-
8153 flowey e 9 flowey_lib_common::run_cargo_build 9
8154 flowey e 9 flowey_lib_hvlite::run_cargo_build 17
8155 shell: bash
8156 - name: split debug symbols
8157 run: |-
8158 flowey e 9 flowey_lib_hvlite::run_split_debug_info 8
8159 flowey e 9 flowey_lib_hvlite::run_cargo_build 18
8160 flowey e 9 flowey_lib_hvlite::build_vmgstool 0
8161 flowey e 9 flowey_core::pipeline::artifact::publish 2
8162 flowey e 9 flowey_lib_hvlite::init_cross_build 5
8163 shell: bash
8164 - name: cargo build vmgstool
8165 run: |-
8166 flowey e 9 flowey_lib_common::run_cargo_build 8
8167 flowey e 9 flowey_lib_hvlite::run_cargo_build 15
8168 shell: bash
8169 - name: split debug symbols
8170 run: |-
8171 flowey e 9 flowey_lib_hvlite::run_split_debug_info 7
8172 flowey e 9 flowey_lib_hvlite::run_cargo_build 16
8173 flowey e 9 flowey_lib_hvlite::build_vmgstool 1
8174 flowey e 9 flowey_core::pipeline::artifact::publish 3
8175 flowey e 9 flowey_lib_hvlite::init_cross_build 4
8176 shell: bash
8177 - name: cargo build vmgs_lib
8178 run: |-
8179 flowey e 9 flowey_lib_common::run_cargo_build 7
8180 flowey e 9 flowey_lib_hvlite::run_cargo_build 14
8181 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 0
8182 shell: bash
8183 - name: test vmgs_lib
8184 run: |-
8185 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1
8186 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2
8187 flowey e 9 flowey_core::pipeline::artifact::publish 4
8188 flowey e 9 flowey_lib_hvlite::init_cross_build 2
8189 shell: bash
8190 - name: cargo build igvmfilegen
8191 run: |-
8192 flowey e 9 flowey_lib_common::run_cargo_build 0
8193 flowey e 9 flowey_lib_hvlite::run_cargo_build 0
8194 shell: bash
8195 - name: split debug symbols
8196 run: |-
8197 flowey e 9 flowey_lib_hvlite::run_split_debug_info 6
8198 flowey e 9 flowey_lib_hvlite::run_cargo_build 1
8199 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0
8200 flowey e 9 flowey_core::pipeline::artifact::publish 5
8201 flowey e 9 flowey_lib_hvlite::init_cross_build 7
8202 shell: bash
8203 - name: cargo build ohcldiag-dev
8204 run: |-
8205 flowey e 9 flowey_lib_common::run_cargo_build 1
8206 flowey e 9 flowey_lib_hvlite::run_cargo_build 2
8207 shell: bash
8208 - name: split debug symbols
8209 run: |-
8210 flowey e 9 flowey_lib_hvlite::run_split_debug_info 0
8211 flowey e 9 flowey_lib_hvlite::run_cargo_build 3
8212 flowey e 9 flowey_lib_hvlite::build_ohcldiag_dev 0
8213 flowey e 9 flowey_core::pipeline::artifact::publish 6
8214 shell: bash
8215 - name: unpack openvmm-deps archive
8216 run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0
8217 shell: bash
8218 - name: extract X86_64 sysroot.tar.gz
8219 run: |-
8220 flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
8221 flowey e 9 flowey_lib_hvlite::init_cross_build 9
8222 shell: bash
8223 - name: cargo build openvmm
8224 run: |-
8225 flowey e 9 flowey_lib_common::run_cargo_build 3
8226 flowey e 9 flowey_lib_hvlite::run_cargo_build 6
8227 shell: bash
8228 - name: split debug symbols
8229 run: |-
8230 flowey e 9 flowey_lib_hvlite::run_split_debug_info 2
8231 flowey e 9 flowey_lib_hvlite::run_cargo_build 7
8232 flowey e 9 flowey_lib_hvlite::build_openvmm 1
8233 flowey e 9 flowey_core::pipeline::artifact::publish 7
8234 flowey e 9 flowey_lib_hvlite::init_cross_build 10
8235 shell: bash
8236 - name: cargo build openvmm_vhost
8237 run: |-
8238 flowey e 9 flowey_lib_common::run_cargo_build 5
8239 flowey e 9 flowey_lib_hvlite::run_cargo_build 10
8240 shell: bash
8241 - name: split debug symbols
8242 run: |-
8243 flowey e 9 flowey_lib_hvlite::run_split_debug_info 4
8244 flowey e 9 flowey_lib_hvlite::run_cargo_build 11
8245 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1
8246 flowey e 9 flowey_core::pipeline::artifact::publish 8
8247 flowey e 9 flowey_lib_hvlite::init_cross_build 11
8248 shell: bash
8249 - name: cargo build prep_steps
8250 run: |-
8251 flowey e 9 flowey_lib_common::run_cargo_build 6
8252 flowey e 9 flowey_lib_hvlite::run_cargo_build 12
8253 shell: bash
8254 - name: split debug symbols
8255 run: |-
8256 flowey e 9 flowey_lib_hvlite::run_split_debug_info 5
8257 flowey e 9 flowey_lib_hvlite::run_cargo_build 13
8258 flowey e 9 flowey_lib_hvlite::build_prep_steps 0
8259 flowey e 9 flowey_core::pipeline::artifact::publish 9
8260 shell: bash
8261 - name: create cargo-nextest cache dir
8262 run: |-
8263 flowey e 9 flowey_lib_common::download_cargo_nextest 0
8264 flowey e 9 flowey_lib_common::download_cargo_nextest 1
8265 flowey e 9 flowey_lib_common::download_cargo_nextest 2
8266 flowey e 9 flowey_lib_common::download_cargo_nextest 3
8267 shell: bash
8268 - name: Pre-processing cache vars
8269 run: |-
8270 flowey e 9 flowey_lib_common::cache 0
8271 flowey v 9 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
8272 flowey v 9 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
8273 shell: bash
8274 - id: flowey_lib_common__cache__1
8275 uses: actions/cache@v5
8276 with:
8277 key: ${{ env.floweyvar2 }}
8278 path: ${{ env.floweyvar3 }}
8279 name: 'Restore cache: cargo-nextest'
8280 - name: downloading cargo-nextest
8281 run: |-
8282 flowey v 9 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
8283 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
8284 EOF
8285 flowey e 9 flowey_lib_common::cache 2
8286 flowey e 9 flowey_lib_common::download_cargo_nextest 4
8287 shell: bash
8288 - name: report $CARGO_HOME
8289 run: flowey e 9 flowey_lib_common::install_rust 3
8290 shell: bash
8291 - name: installing cargo-nextest
8292 run: |-
8293 flowey e 9 flowey_lib_common::install_cargo_nextest 0
8294 flowey e 9 flowey_lib_hvlite::init_cross_build 0
8295 shell: bash
8296 - name: build + archive 'vmm_tests' nextests
8297 run: |-
8298 flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0
8299 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0
8300 flowey e 9 flowey_core::pipeline::artifact::publish 10
8301 flowey e 9 flowey_lib_hvlite::init_cross_build 8
8302 shell: bash
8303 - name: build + archive 'vmm_tests' nextests
8304 run: |-
8305 flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1
8306 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1
8307 flowey e 9 flowey_core::pipeline::artifact::publish 11
8308 shell: bash
8309 - name: 'validate cache entry: cargo-nextest'
8310 run: flowey e 9 flowey_lib_common::cache 3
8311 shell: bash
8312 - name: 'validate cache entry: gh-release-download'
8313 run: flowey e 9 flowey_lib_common::cache 7
8314 shell: bash
8315 - name: 🌼📦 Publish x64-linux-igvmfilegen
8316 uses: actions/upload-artifact@v7
8317 with:
8318 name: x64-linux-igvmfilegen
8319 path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/
8320 include-hidden-files: true
8321 - name: 🌼📦 Publish x64-linux-musl-openvmm
8322 uses: actions/upload-artifact@v7
8323 with:
8324 name: x64-linux-musl-openvmm
8325 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/
8326 include-hidden-files: true
8327 - name: 🌼📦 Publish x64-linux-musl-openvmm_vhost
8328 uses: actions/upload-artifact@v7
8329 with:
8330 name: x64-linux-musl-openvmm_vhost
8331 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/
8332 include-hidden-files: true
8333 - name: 🌼📦 Publish x64-linux-musl-vmm-tests-archive
8334 uses: actions/upload-artifact@v7
8335 with:
8336 name: x64-linux-musl-vmm-tests-archive
8337 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-tests-archive/
8338 include-hidden-files: true
8339 - name: 🌼📦 Publish x64-linux-ohcldiag-dev
8340 uses: actions/upload-artifact@v7
8341 with:
8342 name: x64-linux-ohcldiag-dev
8343 path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/
8344 include-hidden-files: true
8345 - name: 🌼📦 Publish x64-linux-openvmm
8346 uses: actions/upload-artifact@v7
8347 with:
8348 name: x64-linux-openvmm
8349 path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/
8350 include-hidden-files: true
8351 - name: 🌼📦 Publish x64-linux-openvmm_vhost
8352 uses: actions/upload-artifact@v7
8353 with:
8354 name: x64-linux-openvmm_vhost
8355 path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm_vhost/
8356 include-hidden-files: true
8357 - name: 🌼📦 Publish x64-linux-prep_steps
8358 uses: actions/upload-artifact@v7
8359 with:
8360 name: x64-linux-prep_steps
8361 path: ${{ runner.temp }}/publish_artifacts/x64-linux-prep_steps/
8362 include-hidden-files: true
8363 - name: 🌼📦 Publish x64-linux-vmgs_lib
8364 uses: actions/upload-artifact@v7
8365 with:
8366 name: x64-linux-vmgs_lib
8367 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/
8368 include-hidden-files: true
8369 - name: 🌼📦 Publish x64-linux-vmgstool
8370 uses: actions/upload-artifact@v7
8371 with:
8372 name: x64-linux-vmgstool
8373 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/
8374 include-hidden-files: true
8375 - name: 🌼📦 Publish x64-linux-vmgstool-dev
8376 uses: actions/upload-artifact@v7
8377 with:
8378 name: x64-linux-vmgstool-dev
8379 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool-dev/
8380 include-hidden-files: true
8381 - name: 🌼📦 Publish x64-linux-vmm-tests-archive
8382 uses: actions/upload-artifact@v7
8383 with:
8384 name: x64-linux-vmm-tests-archive
8385 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/
8386 include-hidden-files: true