microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/apply-async-process-wait-functionality

Branches

Tags

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

Clone

HTTPS

Download ZIP

.github/workflows/openvmm-pr.yaml

8212lines · 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 (none)' 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 (none)-junit-xml
1927 path: ${{ env.floweyvar1 }}
1928 name: 'publish test results: x64-windows-unit-tests-unit-tests crypto (none) (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 (none)' 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 (none)-junit-xml
2133 path: ${{ env.floweyvar2 }}
2134 name: 'publish test results: x64-linux-unit-tests-unit-tests crypto (none) (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 (none)' 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 (none)-junit-xml
2460 path: ${{ env.floweyvar2 }}
2461 name: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (none) (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 (none)' 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 (none)-junit-xml
2872 path: ${{ env.floweyvar1 }}
2873 name: 'publish test results: aarch64-windows-unit-tests-unit-tests crypto (none) (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 (none)' 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 (none)-junit-xml
3130 path: ${{ env.floweyvar2 }}
3131 name: 'publish test results: aarch64-linux-unit-tests-unit-tests crypto (none) (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 (none)' 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 (none)-junit-xml
3685 path: ${{ env.floweyvar2 }}
3686 name: 'publish test results: aarch64-linux-musl-unit-tests-unit-tests crypto (none) (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-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-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
3876 shell: bash
3877 - name: create cargo-nextest cache dir
3878 run: |-
3879 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0
3880 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1
3881 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2
3882 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3
3883 shell: bash
3884 - name: Pre-processing cache vars
3885 run: |-
3886 flowey.exe e 21 flowey_lib_common::cache 0
3887 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
3888 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
3889 shell: bash
3890 - id: flowey_lib_common__cache__1
3891 uses: actions/cache@v5
3892 with:
3893 key: ${{ env.floweyvar4 }}
3894 path: ${{ env.floweyvar5 }}
3895 name: 'Restore cache: cargo-nextest'
3896 - name: downloading cargo-nextest
3897 run: |-
3898 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
3899 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3900 EOF
3901 flowey.exe e 21 flowey_lib_common::cache 2
3902 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 4
3903 shell: bash
3904 - name: check if openvmm needs to be cloned
3905 run: |-
3906 flowey.exe e 21 flowey_lib_common::git_checkout 0
3907 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
3908 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
3909 shell: bash
3910 - id: flowey_lib_common__git_checkout__1
3911 uses: actions/checkout@v6
3912 with:
3913 fetch-depth: '1'
3914 path: repo0
3915 persist-credentials: ${{ env.floweyvar3 }}
3916 name: checkout repo openvmm
3917 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3918 - name: report cloned repo directories
3919 run: |-
3920 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
3921 ${{ github.workspace }}
3922 EOF
3923 flowey.exe e 21 flowey_lib_common::git_checkout 3
3924 flowey.exe e 21 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3925 flowey.exe e 21 flowey_lib_hvlite::run_cargo_nextest_run 0
3926 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 5
3927 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 6
3928 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 1
3929 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 0
3930 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 9
3931 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 2
3932 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 4
3933 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 11
3934 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 10
3935 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 3
3936 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 8
3937 shell: bash
3938 - name: creating new test content dir
3939 run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
3940 shell: bash
3941 - name: resolve OpenHCL igvm artifact
3942 run: flowey.exe e 21 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
3943 shell: bash
3944 - name: create gh-release-download cache dir
3945 run: flowey.exe e 21 flowey_lib_common::download_gh_release 0
3946 shell: bash
3947 - name: Pre-processing cache vars
3948 run: |-
3949 flowey.exe e 21 flowey_lib_common::cache 8
3950 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
3951 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
3952 shell: bash
3953 - id: flowey_lib_common__cache__9
3954 uses: actions/cache@v5
3955 with:
3956 key: ${{ env.floweyvar8 }}
3957 path: ${{ env.floweyvar9 }}
3958 name: 'Restore cache: gh-release-download'
3959 - name: download artifacts from github releases
3960 run: |-
3961 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
3962 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
3963 EOF
3964 flowey.exe e 21 flowey_lib_common::cache 10
3965 flowey.exe e 21 flowey_lib_common::download_gh_release 1
3966 shell: bash
3967 - name: extract azcopy from archive
3968 run: flowey.exe e 21 flowey_lib_common::download_azcopy 0
3969 shell: bash
3970 - name: calculating required VMM tests disk images
3971 run: flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
3972 shell: bash
3973 - name: downloading VMM test disk images
3974 run: |-
3975 flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
3976 flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
3977 shell: bash
3978 - name: create gh cache dir
3979 run: flowey.exe e 21 flowey_lib_common::download_gh_cli 0
3980 shell: bash
3981 - name: Pre-processing cache vars
3982 run: |-
3983 flowey.exe e 21 flowey_lib_common::cache 4
3984 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
3985 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
3986 shell: bash
3987 - id: flowey_lib_common__cache__5
3988 uses: actions/cache@v5
3989 with:
3990 key: ${{ env.floweyvar6 }}
3991 path: ${{ env.floweyvar7 }}
3992 name: 'Restore cache: gh-cli'
3993 - name: installing gh
3994 run: |-
3995 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
3996 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
3997 EOF
3998 flowey.exe e 21 flowey_lib_common::cache 6
3999 flowey.exe e 21 flowey_lib_common::download_gh_cli 1
4000 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
4001 ${{ github.token }}
4002 EOF
4003 shell: bash
4004 - name: setup gh cli
4005 run: flowey.exe e 21 flowey_lib_common::use_gh_cli 0
4006 shell: bash
4007 - name: get latest completed action id
4008 run: flowey.exe e 21 flowey_lib_common::gh_latest_completed_workflow_id 0
4009 shell: bash
4010 - name: download artifacts from github actions run
4011 run: |-
4012 flowey.exe e 21 flowey_lib_common::download_gh_artifact 0
4013 flowey.exe e 21 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4014 shell: bash
4015 - name: unpack openvmm-test-initrd archives
4016 run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
4017 shell: bash
4018 - name: unpack openvmm-test-linux archives
4019 run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
4020 shell: bash
4021 - name: unpack mu_msvm package (x64)
4022 run: flowey.exe e 21 flowey_lib_hvlite::download_uefi_mu_msvm 0
4023 shell: bash
4024 - name: setting up vmm_tests env
4025 run: |-
4026 flowey.exe e 21 flowey_lib_hvlite::init_vmm_tests_env 0
4027 flowey.exe e 21 flowey_lib_hvlite::run_cargo_nextest_run 1
4028 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 12
4029 flowey.exe e 21 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4030 shell: bash
4031 - name: generate nextest command
4032 run: flowey.exe e 21 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4033 shell: bash
4034 - name: install vmm tests deps (windows)
4035 run: flowey.exe e 21 flowey_lib_hvlite::install_vmm_tests_deps 0
4036 shell: bash
4037 - name: starting test_igvm_agent_rpc_server
4038 run: flowey.exe e 21 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4039 shell: bash
4040 - name: run 'vmm_tests' nextest tests
4041 run: |-
4042 flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 0
4043 flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 1
4044 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4045 shell: bash
4046 - name: stopping test_igvm_agent_rpc_server
4047 run: |-
4048 flowey.exe e 21 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4049 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4050 flowey.exe e 21 flowey_lib_common::publish_test_results 4
4051 flowey.exe e 21 flowey_lib_common::publish_test_results 5
4052 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
4053 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
4054 shell: bash
4055 - id: flowey_lib_common__publish_test_results__6
4056 uses: actions/upload-artifact@v7
4057 with:
4058 name: x64-windows-intel-vmm-tests-logs
4059 path: ${{ env.floweyvar2 }}
4060 name: 'publish test results: x64-windows-intel-vmm-tests (logs)'
4061 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4062 - name: 🦀 flowey rust steps
4063 run: |-
4064 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4065 flowey.exe e 21 flowey_lib_common::publish_test_results 0
4066 flowey.exe e 21 flowey_lib_common::publish_test_results 1
4067 flowey.exe e 21 flowey_lib_common::publish_test_results 2
4068 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
4069 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
4070 shell: bash
4071 - id: flowey_lib_common__publish_test_results__3
4072 uses: actions/upload-artifact@v7
4073 with:
4074 name: x64-windows-intel-vmm-tests-junit-xml
4075 path: ${{ env.floweyvar1 }}
4076 name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)'
4077 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4078 - name: report test results to overall pipeline status
4079 run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4080 shell: bash
4081 - name: 'validate cache entry: cargo-nextest'
4082 run: flowey.exe e 21 flowey_lib_common::cache 3
4083 shell: bash
4084 - name: 'validate cache entry: gh-cli'
4085 run: flowey.exe e 21 flowey_lib_common::cache 7
4086 shell: bash
4087 - name: 'validate cache entry: gh-release-download'
4088 run: flowey.exe e 21 flowey_lib_common::cache 11
4089 shell: bash
4090 job22:
4091 name: run vmm-tests [x64-windows-intel-mi-secure]
4092 runs-on:
4093 - self-hosted
4094 - 1ES.Pool=openvmm-gh-intel-westus3
4095 - 1ES.ImageOverride=win-amd64
4096 - JobId=job22-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
4097 permissions:
4098 contents: read
4099 id-token: write
4100 needs:
4101 - job0
4102 - job14
4103 - job2
4104 - job3
4105 - job7
4106 if: github.event.pull_request.draft == false
4107 steps:
4108 - name: 🌼📦 Download artifacts
4109 uses: actions/download-artifact@v8
4110 with:
4111 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}'
4112 path: ${{ runner.temp }}/used_artifacts/
4113 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4114 shell: bash
4115 name: 🌼📦 Add flowey to PATH
4116 - name: 🌼🛫 Initialize job
4117 run: |
4118 AgentTempDirNormal="${{ runner.temp }}"
4119 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4120 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4121
4122 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4123
4124 echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update
4125 echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update
4126
4127 cat <<'EOF' | flowey.exe v 22 'verbose' update
4128 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4129 EOF
4130 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 22 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4131 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 22 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4132 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
4133 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
4134 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
4135 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 22 'artifact_use_from_x64-tmks' --is-raw-string update
4136 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 22 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4137 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 22 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4138 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 22 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4139 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
4140 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 22 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4141 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
4142 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4143 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
4144 shell: bash
4145 - name: create cargo-nextest cache dir
4146 run: |-
4147 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0
4148 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1
4149 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2
4150 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3
4151 shell: bash
4152 - name: Pre-processing cache vars
4153 run: |-
4154 flowey.exe e 22 flowey_lib_common::cache 0
4155 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
4156 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
4157 shell: bash
4158 - id: flowey_lib_common__cache__1
4159 uses: actions/cache@v5
4160 with:
4161 key: ${{ env.floweyvar4 }}
4162 path: ${{ env.floweyvar5 }}
4163 name: 'Restore cache: cargo-nextest'
4164 - name: downloading cargo-nextest
4165 run: |-
4166 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
4167 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4168 EOF
4169 flowey.exe e 22 flowey_lib_common::cache 2
4170 flowey.exe e 22 flowey_lib_common::download_cargo_nextest 4
4171 shell: bash
4172 - name: check if openvmm needs to be cloned
4173 run: |-
4174 flowey.exe e 22 flowey_lib_common::git_checkout 0
4175 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
4176 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
4177 shell: bash
4178 - id: flowey_lib_common__git_checkout__1
4179 uses: actions/checkout@v6
4180 with:
4181 fetch-depth: '1'
4182 path: repo0
4183 persist-credentials: ${{ env.floweyvar3 }}
4184 name: checkout repo openvmm
4185 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4186 - name: report cloned repo directories
4187 run: |-
4188 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
4189 ${{ github.workspace }}
4190 EOF
4191 flowey.exe e 22 flowey_lib_common::git_checkout 3
4192 flowey.exe e 22 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4193 flowey.exe e 22 flowey_lib_hvlite::run_cargo_nextest_run 0
4194 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 5
4195 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 6
4196 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 1
4197 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 0
4198 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 9
4199 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 2
4200 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 4
4201 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 11
4202 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 10
4203 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 3
4204 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 8
4205 shell: bash
4206 - name: creating new test content dir
4207 run: flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
4208 shell: bash
4209 - name: resolve OpenHCL igvm artifact
4210 run: flowey.exe e 22 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
4211 shell: bash
4212 - name: create gh-release-download cache dir
4213 run: flowey.exe e 22 flowey_lib_common::download_gh_release 0
4214 shell: bash
4215 - name: Pre-processing cache vars
4216 run: |-
4217 flowey.exe e 22 flowey_lib_common::cache 8
4218 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
4219 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
4220 shell: bash
4221 - id: flowey_lib_common__cache__9
4222 uses: actions/cache@v5
4223 with:
4224 key: ${{ env.floweyvar8 }}
4225 path: ${{ env.floweyvar9 }}
4226 name: 'Restore cache: gh-release-download'
4227 - name: download artifacts from github releases
4228 run: |-
4229 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
4230 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
4231 EOF
4232 flowey.exe e 22 flowey_lib_common::cache 10
4233 flowey.exe e 22 flowey_lib_common::download_gh_release 1
4234 shell: bash
4235 - name: extract azcopy from archive
4236 run: flowey.exe e 22 flowey_lib_common::download_azcopy 0
4237 shell: bash
4238 - name: calculating required VMM tests disk images
4239 run: flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
4240 shell: bash
4241 - name: downloading VMM test disk images
4242 run: |-
4243 flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
4244 flowey.exe e 22 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
4245 shell: bash
4246 - name: create gh cache dir
4247 run: flowey.exe e 22 flowey_lib_common::download_gh_cli 0
4248 shell: bash
4249 - name: Pre-processing cache vars
4250 run: |-
4251 flowey.exe e 22 flowey_lib_common::cache 4
4252 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
4253 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
4254 shell: bash
4255 - id: flowey_lib_common__cache__5
4256 uses: actions/cache@v5
4257 with:
4258 key: ${{ env.floweyvar6 }}
4259 path: ${{ env.floweyvar7 }}
4260 name: 'Restore cache: gh-cli'
4261 - name: installing gh
4262 run: |-
4263 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
4264 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4265 EOF
4266 flowey.exe e 22 flowey_lib_common::cache 6
4267 flowey.exe e 22 flowey_lib_common::download_gh_cli 1
4268 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
4269 ${{ github.token }}
4270 EOF
4271 shell: bash
4272 - name: setup gh cli
4273 run: flowey.exe e 22 flowey_lib_common::use_gh_cli 0
4274 shell: bash
4275 - name: get latest completed action id
4276 run: flowey.exe e 22 flowey_lib_common::gh_latest_completed_workflow_id 0
4277 shell: bash
4278 - name: download artifacts from github actions run
4279 run: |-
4280 flowey.exe e 22 flowey_lib_common::download_gh_artifact 0
4281 flowey.exe e 22 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4282 shell: bash
4283 - name: unpack openvmm-test-initrd archives
4284 run: flowey.exe e 22 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
4285 shell: bash
4286 - name: unpack openvmm-test-linux archives
4287 run: flowey.exe e 22 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
4288 shell: bash
4289 - name: unpack mu_msvm package (x64)
4290 run: flowey.exe e 22 flowey_lib_hvlite::download_uefi_mu_msvm 0
4291 shell: bash
4292 - name: setting up vmm_tests env
4293 run: |-
4294 flowey.exe e 22 flowey_lib_hvlite::init_vmm_tests_env 0
4295 flowey.exe e 22 flowey_lib_hvlite::run_cargo_nextest_run 1
4296 flowey.exe e 22 flowey_core::pipeline::artifact::resolve 12
4297 flowey.exe e 22 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4298 shell: bash
4299 - name: generate nextest command
4300 run: flowey.exe e 22 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4301 shell: bash
4302 - name: install vmm tests deps (windows)
4303 run: flowey.exe e 22 flowey_lib_hvlite::install_vmm_tests_deps 0
4304 shell: bash
4305 - name: starting test_igvm_agent_rpc_server
4306 run: flowey.exe e 22 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4307 shell: bash
4308 - name: run 'vmm_tests' nextest tests
4309 run: |-
4310 flowey.exe e 22 flowey_lib_common::run_cargo_nextest_run 0
4311 flowey.exe e 22 flowey_lib_common::run_cargo_nextest_run 1
4312 flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4313 shell: bash
4314 - name: stopping test_igvm_agent_rpc_server
4315 run: |-
4316 flowey.exe e 22 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4317 flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4318 flowey.exe e 22 flowey_lib_common::publish_test_results 4
4319 flowey.exe e 22 flowey_lib_common::publish_test_results 5
4320 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
4321 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
4322 shell: bash
4323 - id: flowey_lib_common__publish_test_results__6
4324 uses: actions/upload-artifact@v7
4325 with:
4326 name: x64-windows-intel-mi-secure-vmm-tests-logs
4327 path: ${{ env.floweyvar2 }}
4328 name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (logs)'
4329 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4330 - name: 🦀 flowey rust steps
4331 run: |-
4332 flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4333 flowey.exe e 22 flowey_lib_common::publish_test_results 0
4334 flowey.exe e 22 flowey_lib_common::publish_test_results 1
4335 flowey.exe e 22 flowey_lib_common::publish_test_results 2
4336 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
4337 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
4338 shell: bash
4339 - id: flowey_lib_common__publish_test_results__3
4340 uses: actions/upload-artifact@v7
4341 with:
4342 name: x64-windows-intel-mi-secure-vmm-tests-junit-xml
4343 path: ${{ env.floweyvar1 }}
4344 name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (JUnit XML)'
4345 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4346 - name: report test results to overall pipeline status
4347 run: flowey.exe e 22 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4348 shell: bash
4349 - name: 'validate cache entry: cargo-nextest'
4350 run: flowey.exe e 22 flowey_lib_common::cache 3
4351 shell: bash
4352 - name: 'validate cache entry: gh-cli'
4353 run: flowey.exe e 22 flowey_lib_common::cache 7
4354 shell: bash
4355 - name: 'validate cache entry: gh-release-download'
4356 run: flowey.exe e 22 flowey_lib_common::cache 11
4357 shell: bash
4358 job23:
4359 name: run vmm-tests [x64-windows-intel-tdx]
4360 runs-on:
4361 - self-hosted
4362 - Windows
4363 - X64
4364 - TDX
4365 - Baremetal
4366 permissions:
4367 contents: read
4368 id-token: write
4369 needs:
4370 - job0
4371 - job12
4372 - job2
4373 - job3
4374 - job7
4375 if: github.event.pull_request.draft == false
4376 steps:
4377 - name: 🌼📦 Download artifacts
4378 uses: actions/download-artifact@v8
4379 with:
4380 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}'
4381 path: ${{ runner.temp }}/used_artifacts/
4382 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4383 shell: bash
4384 name: 🌼📦 Add flowey to PATH
4385 - name: 🌼🛫 Initialize job
4386 run: |
4387 AgentTempDirNormal="${{ runner.temp }}"
4388 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4389 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4390
4391 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4392
4393 echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update
4394 echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update
4395
4396 cat <<'EOF' | flowey.exe v 23 'verbose' update
4397 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4398 EOF
4399 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 23 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4400 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 23 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4401 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
4402 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
4403 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
4404 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 23 'artifact_use_from_x64-tmks' --is-raw-string update
4405 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 23 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4406 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 23 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4407 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 23 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4408 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
4409 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 23 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4410 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
4411 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4412 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
4413 shell: bash
4414 - name: create cargo-nextest cache dir
4415 run: |-
4416 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 0
4417 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1
4418 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2
4419 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 3
4420 shell: bash
4421 - name: Pre-processing cache vars
4422 run: |-
4423 flowey.exe e 23 flowey_lib_common::cache 0
4424 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
4425 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
4426 shell: bash
4427 - id: flowey_lib_common__cache__1
4428 uses: actions/cache@v5
4429 with:
4430 key: ${{ env.floweyvar4 }}
4431 path: ${{ env.floweyvar5 }}
4432 name: 'Restore cache: cargo-nextest'
4433 - name: downloading cargo-nextest
4434 run: |-
4435 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
4436 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4437 EOF
4438 flowey.exe e 23 flowey_lib_common::cache 2
4439 flowey.exe e 23 flowey_lib_common::download_cargo_nextest 4
4440 shell: bash
4441 - name: check if openvmm needs to be cloned
4442 run: |-
4443 flowey.exe e 23 flowey_lib_common::git_checkout 0
4444 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
4445 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
4446 shell: bash
4447 - id: flowey_lib_common__git_checkout__1
4448 uses: actions/checkout@v6
4449 with:
4450 fetch-depth: '1'
4451 path: repo0
4452 persist-credentials: ${{ env.floweyvar3 }}
4453 name: checkout repo openvmm
4454 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4455 - name: report cloned repo directories
4456 run: |-
4457 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
4458 ${{ github.workspace }}
4459 EOF
4460 flowey.exe e 23 flowey_lib_common::git_checkout 3
4461 flowey.exe e 23 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4462 flowey.exe e 23 flowey_lib_hvlite::run_cargo_nextest_run 0
4463 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 5
4464 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 6
4465 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 1
4466 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 0
4467 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 9
4468 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 2
4469 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 4
4470 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 11
4471 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 10
4472 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 3
4473 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 8
4474 shell: bash
4475 - name: creating new test content dir
4476 run: flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
4477 shell: bash
4478 - name: resolve OpenHCL igvm artifact
4479 run: flowey.exe e 23 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
4480 shell: bash
4481 - name: create gh-release-download cache dir
4482 run: flowey.exe e 23 flowey_lib_common::download_gh_release 0
4483 shell: bash
4484 - name: Pre-processing cache vars
4485 run: |-
4486 flowey.exe e 23 flowey_lib_common::cache 8
4487 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
4488 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
4489 shell: bash
4490 - id: flowey_lib_common__cache__9
4491 uses: actions/cache@v5
4492 with:
4493 key: ${{ env.floweyvar8 }}
4494 path: ${{ env.floweyvar9 }}
4495 name: 'Restore cache: gh-release-download'
4496 - name: download artifacts from github releases
4497 run: |-
4498 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
4499 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
4500 EOF
4501 flowey.exe e 23 flowey_lib_common::cache 10
4502 flowey.exe e 23 flowey_lib_common::download_gh_release 1
4503 shell: bash
4504 - name: extract azcopy from archive
4505 run: flowey.exe e 23 flowey_lib_common::download_azcopy 0
4506 shell: bash
4507 - name: calculating required VMM tests disk images
4508 run: flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
4509 shell: bash
4510 - name: downloading VMM test disk images
4511 run: |-
4512 flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
4513 flowey.exe e 23 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
4514 shell: bash
4515 - name: create gh cache dir
4516 run: flowey.exe e 23 flowey_lib_common::download_gh_cli 0
4517 shell: bash
4518 - name: Pre-processing cache vars
4519 run: |-
4520 flowey.exe e 23 flowey_lib_common::cache 4
4521 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
4522 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
4523 shell: bash
4524 - id: flowey_lib_common__cache__5
4525 uses: actions/cache@v5
4526 with:
4527 key: ${{ env.floweyvar6 }}
4528 path: ${{ env.floweyvar7 }}
4529 name: 'Restore cache: gh-cli'
4530 - name: installing gh
4531 run: |-
4532 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
4533 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4534 EOF
4535 flowey.exe e 23 flowey_lib_common::cache 6
4536 flowey.exe e 23 flowey_lib_common::download_gh_cli 1
4537 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
4538 ${{ github.token }}
4539 EOF
4540 shell: bash
4541 - name: setup gh cli
4542 run: flowey.exe e 23 flowey_lib_common::use_gh_cli 0
4543 shell: bash
4544 - name: get latest completed action id
4545 run: flowey.exe e 23 flowey_lib_common::gh_latest_completed_workflow_id 0
4546 shell: bash
4547 - name: download artifacts from github actions run
4548 run: |-
4549 flowey.exe e 23 flowey_lib_common::download_gh_artifact 0
4550 flowey.exe e 23 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4551 shell: bash
4552 - name: unpack openvmm-test-initrd archives
4553 run: flowey.exe e 23 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
4554 shell: bash
4555 - name: unpack openvmm-test-linux archives
4556 run: flowey.exe e 23 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
4557 shell: bash
4558 - name: unpack mu_msvm package (x64)
4559 run: flowey.exe e 23 flowey_lib_hvlite::download_uefi_mu_msvm 0
4560 shell: bash
4561 - name: setting up vmm_tests env
4562 run: |-
4563 flowey.exe e 23 flowey_lib_hvlite::init_vmm_tests_env 0
4564 flowey.exe e 23 flowey_lib_hvlite::run_cargo_nextest_run 1
4565 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 12
4566 flowey.exe e 23 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4567 shell: bash
4568 - name: generate nextest command
4569 run: flowey.exe e 23 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4570 shell: bash
4571 - name: install vmm tests deps (windows)
4572 run: flowey.exe e 23 flowey_lib_hvlite::install_vmm_tests_deps 0
4573 shell: bash
4574 - name: starting test_igvm_agent_rpc_server
4575 run: |-
4576 flowey.exe e 23 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4577 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 7
4578 shell: bash
4579 - name: running vmm_test prep_steps
4580 run: flowey.exe e 23 flowey_lib_hvlite::run_prep_steps 0
4581 shell: bash
4582 - name: run 'vmm_tests' nextest tests
4583 run: |-
4584 flowey.exe e 23 flowey_lib_common::run_cargo_nextest_run 0
4585 flowey.exe e 23 flowey_lib_common::run_cargo_nextest_run 1
4586 flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4587 shell: bash
4588 - name: stopping test_igvm_agent_rpc_server
4589 run: |-
4590 flowey.exe e 23 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4591 flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4592 flowey.exe e 23 flowey_lib_common::publish_test_results 4
4593 flowey.exe e 23 flowey_lib_common::publish_test_results 5
4594 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
4595 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
4596 shell: bash
4597 - id: flowey_lib_common__publish_test_results__6
4598 uses: actions/upload-artifact@v7
4599 with:
4600 name: x64-windows-intel-tdx-vmm-tests-logs
4601 path: ${{ env.floweyvar2 }}
4602 name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)'
4603 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4604 - name: 🦀 flowey rust steps
4605 run: |-
4606 flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4607 flowey.exe e 23 flowey_lib_common::publish_test_results 0
4608 flowey.exe e 23 flowey_lib_common::publish_test_results 1
4609 flowey.exe e 23 flowey_lib_common::publish_test_results 2
4610 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
4611 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
4612 shell: bash
4613 - id: flowey_lib_common__publish_test_results__3
4614 uses: actions/upload-artifact@v7
4615 with:
4616 name: x64-windows-intel-tdx-vmm-tests-junit-xml
4617 path: ${{ env.floweyvar1 }}
4618 name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)'
4619 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4620 - name: report test results to overall pipeline status
4621 run: flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4622 shell: bash
4623 - name: 'validate cache entry: cargo-nextest'
4624 run: flowey.exe e 23 flowey_lib_common::cache 3
4625 shell: bash
4626 - name: 'validate cache entry: gh-cli'
4627 run: flowey.exe e 23 flowey_lib_common::cache 7
4628 shell: bash
4629 - name: 'validate cache entry: gh-release-download'
4630 run: flowey.exe e 23 flowey_lib_common::cache 11
4631 shell: bash
4632 job24:
4633 name: run vmm-tests [x64-windows-amd]
4634 runs-on:
4635 - self-hosted
4636 - 1ES.Pool=openvmm-gh-amd-westus3
4637 - 1ES.ImageOverride=win-amd64
4638 - JobId=job24-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
4639 permissions:
4640 contents: read
4641 id-token: write
4642 needs:
4643 - job0
4644 - job12
4645 - job2
4646 - job3
4647 - job7
4648 if: github.event.pull_request.draft == false
4649 steps:
4650 - name: 🌼📦 Download artifacts
4651 uses: actions/download-artifact@v8
4652 with:
4653 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}'
4654 path: ${{ runner.temp }}/used_artifacts/
4655 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4656 shell: bash
4657 name: 🌼📦 Add flowey to PATH
4658 - name: 🌼🛫 Initialize job
4659 run: |
4660 AgentTempDirNormal="${{ runner.temp }}"
4661 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4662 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4663
4664 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4665
4666 echo '"debug"' | flowey.exe v 24 'FLOWEY_LOG' update
4667 echo "${{ runner.temp }}/work" | flowey.exe v 24 '_internal_WORKING_DIR' --is-raw-string update
4668
4669 cat <<'EOF' | flowey.exe v 24 'verbose' update
4670 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4671 EOF
4672 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 24 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4673 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 24 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4674 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
4675 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
4676 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 24 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
4677 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 24 'artifact_use_from_x64-tmks' --is-raw-string update
4678 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 24 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4679 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 24 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4680 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 24 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4681 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
4682 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 24 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4683 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
4684 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 24 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4685 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
4686 shell: bash
4687 - name: create cargo-nextest cache dir
4688 run: |-
4689 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 0
4690 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 1
4691 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 2
4692 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 3
4693 shell: bash
4694 - name: Pre-processing cache vars
4695 run: |-
4696 flowey.exe e 24 flowey_lib_common::cache 0
4697 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
4698 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
4699 shell: bash
4700 - id: flowey_lib_common__cache__1
4701 uses: actions/cache@v5
4702 with:
4703 key: ${{ env.floweyvar4 }}
4704 path: ${{ env.floweyvar5 }}
4705 name: 'Restore cache: cargo-nextest'
4706 - name: downloading cargo-nextest
4707 run: |-
4708 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
4709 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4710 EOF
4711 flowey.exe e 24 flowey_lib_common::cache 2
4712 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 4
4713 shell: bash
4714 - name: check if openvmm needs to be cloned
4715 run: |-
4716 flowey.exe e 24 flowey_lib_common::git_checkout 0
4717 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
4718 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
4719 shell: bash
4720 - id: flowey_lib_common__git_checkout__1
4721 uses: actions/checkout@v6
4722 with:
4723 fetch-depth: '1'
4724 path: repo0
4725 persist-credentials: ${{ env.floweyvar3 }}
4726 name: checkout repo openvmm
4727 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4728 - name: report cloned repo directories
4729 run: |-
4730 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
4731 ${{ github.workspace }}
4732 EOF
4733 flowey.exe e 24 flowey_lib_common::git_checkout 3
4734 flowey.exe e 24 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4735 flowey.exe e 24 flowey_lib_hvlite::run_cargo_nextest_run 0
4736 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 11
4737 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 10
4738 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 3
4739 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 8
4740 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 5
4741 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 6
4742 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 1
4743 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 0
4744 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 9
4745 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 2
4746 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 4
4747 shell: bash
4748 - name: creating new test content dir
4749 run: flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
4750 shell: bash
4751 - name: resolve OpenHCL igvm artifact
4752 run: flowey.exe e 24 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
4753 shell: bash
4754 - name: create gh-release-download cache dir
4755 run: flowey.exe e 24 flowey_lib_common::download_gh_release 0
4756 shell: bash
4757 - name: Pre-processing cache vars
4758 run: |-
4759 flowey.exe e 24 flowey_lib_common::cache 8
4760 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
4761 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
4762 shell: bash
4763 - id: flowey_lib_common__cache__9
4764 uses: actions/cache@v5
4765 with:
4766 key: ${{ env.floweyvar8 }}
4767 path: ${{ env.floweyvar9 }}
4768 name: 'Restore cache: gh-release-download'
4769 - name: download artifacts from github releases
4770 run: |-
4771 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
4772 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
4773 EOF
4774 flowey.exe e 24 flowey_lib_common::cache 10
4775 flowey.exe e 24 flowey_lib_common::download_gh_release 1
4776 shell: bash
4777 - name: extract azcopy from archive
4778 run: flowey.exe e 24 flowey_lib_common::download_azcopy 0
4779 shell: bash
4780 - name: calculating required VMM tests disk images
4781 run: flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
4782 shell: bash
4783 - name: downloading VMM test disk images
4784 run: |-
4785 flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
4786 flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
4787 shell: bash
4788 - name: create gh cache dir
4789 run: flowey.exe e 24 flowey_lib_common::download_gh_cli 0
4790 shell: bash
4791 - name: Pre-processing cache vars
4792 run: |-
4793 flowey.exe e 24 flowey_lib_common::cache 4
4794 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
4795 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
4796 shell: bash
4797 - id: flowey_lib_common__cache__5
4798 uses: actions/cache@v5
4799 with:
4800 key: ${{ env.floweyvar6 }}
4801 path: ${{ env.floweyvar7 }}
4802 name: 'Restore cache: gh-cli'
4803 - name: installing gh
4804 run: |-
4805 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
4806 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4807 EOF
4808 flowey.exe e 24 flowey_lib_common::cache 6
4809 flowey.exe e 24 flowey_lib_common::download_gh_cli 1
4810 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
4811 ${{ github.token }}
4812 EOF
4813 shell: bash
4814 - name: setup gh cli
4815 run: flowey.exe e 24 flowey_lib_common::use_gh_cli 0
4816 shell: bash
4817 - name: get latest completed action id
4818 run: flowey.exe e 24 flowey_lib_common::gh_latest_completed_workflow_id 0
4819 shell: bash
4820 - name: download artifacts from github actions run
4821 run: |-
4822 flowey.exe e 24 flowey_lib_common::download_gh_artifact 0
4823 flowey.exe e 24 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4824 shell: bash
4825 - name: unpack openvmm-test-initrd archives
4826 run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
4827 shell: bash
4828 - name: unpack openvmm-test-linux archives
4829 run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
4830 shell: bash
4831 - name: unpack mu_msvm package (x64)
4832 run: flowey.exe e 24 flowey_lib_hvlite::download_uefi_mu_msvm 0
4833 shell: bash
4834 - name: setting up vmm_tests env
4835 run: |-
4836 flowey.exe e 24 flowey_lib_hvlite::init_vmm_tests_env 0
4837 flowey.exe e 24 flowey_lib_hvlite::run_cargo_nextest_run 1
4838 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 12
4839 flowey.exe e 24 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4840 shell: bash
4841 - name: generate nextest command
4842 run: flowey.exe e 24 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4843 shell: bash
4844 - name: install vmm tests deps (windows)
4845 run: flowey.exe e 24 flowey_lib_hvlite::install_vmm_tests_deps 0
4846 shell: bash
4847 - name: starting test_igvm_agent_rpc_server
4848 run: flowey.exe e 24 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4849 shell: bash
4850 - name: run 'vmm_tests' nextest tests
4851 run: |-
4852 flowey.exe e 24 flowey_lib_common::run_cargo_nextest_run 0
4853 flowey.exe e 24 flowey_lib_common::run_cargo_nextest_run 1
4854 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4855 shell: bash
4856 - name: stopping test_igvm_agent_rpc_server
4857 run: |-
4858 flowey.exe e 24 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4859 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4860 flowey.exe e 24 flowey_lib_common::publish_test_results 4
4861 flowey.exe e 24 flowey_lib_common::publish_test_results 5
4862 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
4863 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
4864 shell: bash
4865 - id: flowey_lib_common__publish_test_results__6
4866 uses: actions/upload-artifact@v7
4867 with:
4868 name: x64-windows-amd-vmm-tests-logs
4869 path: ${{ env.floweyvar2 }}
4870 name: 'publish test results: x64-windows-amd-vmm-tests (logs)'
4871 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4872 - name: 🦀 flowey rust steps
4873 run: |-
4874 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4875 flowey.exe e 24 flowey_lib_common::publish_test_results 0
4876 flowey.exe e 24 flowey_lib_common::publish_test_results 1
4877 flowey.exe e 24 flowey_lib_common::publish_test_results 2
4878 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
4879 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
4880 shell: bash
4881 - id: flowey_lib_common__publish_test_results__3
4882 uses: actions/upload-artifact@v7
4883 with:
4884 name: x64-windows-amd-vmm-tests-junit-xml
4885 path: ${{ env.floweyvar1 }}
4886 name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)'
4887 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4888 - name: report test results to overall pipeline status
4889 run: flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4890 shell: bash
4891 - name: 'validate cache entry: cargo-nextest'
4892 run: flowey.exe e 24 flowey_lib_common::cache 3
4893 shell: bash
4894 - name: 'validate cache entry: gh-cli'
4895 run: flowey.exe e 24 flowey_lib_common::cache 7
4896 shell: bash
4897 - name: 'validate cache entry: gh-release-download'
4898 run: flowey.exe e 24 flowey_lib_common::cache 11
4899 shell: bash
4900 job25:
4901 name: run vmm-tests [x64-windows-amd-snp]
4902 runs-on:
4903 - self-hosted
4904 - Windows
4905 - X64
4906 - SNP
4907 - Baremetal
4908 permissions:
4909 contents: read
4910 id-token: write
4911 needs:
4912 - job0
4913 - job12
4914 - job2
4915 - job3
4916 - job7
4917 if: github.event.pull_request.draft == false
4918 steps:
4919 - name: 🌼📦 Download artifacts
4920 uses: actions/download-artifact@v8
4921 with:
4922 pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmm-tests-archive}'
4923 path: ${{ runner.temp }}/used_artifacts/
4924 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4925 shell: bash
4926 name: 🌼📦 Add flowey to PATH
4927 - name: 🌼🛫 Initialize job
4928 run: |
4929 AgentTempDirNormal="${{ runner.temp }}"
4930 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4931 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4932
4933 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4934
4935 echo '"debug"' | flowey.exe v 25 'FLOWEY_LOG' update
4936 echo "${{ runner.temp }}/work" | flowey.exe v 25 '_internal_WORKING_DIR' --is-raw-string update
4937
4938 cat <<'EOF' | flowey.exe v 25 'verbose' update
4939 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4940 EOF
4941 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 25 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4942 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 25 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4943 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
4944 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
4945 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 25 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
4946 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 25 'artifact_use_from_x64-tmks' --is-raw-string update
4947 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 25 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4948 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 25 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4949 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 25 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4950 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
4951 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 25 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4952 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
4953 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 25 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4954 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
4955 shell: bash
4956 - name: create cargo-nextest cache dir
4957 run: |-
4958 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 0
4959 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 1
4960 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 2
4961 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 3
4962 shell: bash
4963 - name: Pre-processing cache vars
4964 run: |-
4965 flowey.exe e 25 flowey_lib_common::cache 0
4966 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
4967 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
4968 shell: bash
4969 - id: flowey_lib_common__cache__1
4970 uses: actions/cache@v5
4971 with:
4972 key: ${{ env.floweyvar4 }}
4973 path: ${{ env.floweyvar5 }}
4974 name: 'Restore cache: cargo-nextest'
4975 - name: downloading cargo-nextest
4976 run: |-
4977 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
4978 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4979 EOF
4980 flowey.exe e 25 flowey_lib_common::cache 2
4981 flowey.exe e 25 flowey_lib_common::download_cargo_nextest 4
4982 shell: bash
4983 - name: check if openvmm needs to be cloned
4984 run: |-
4985 flowey.exe e 25 flowey_lib_common::git_checkout 0
4986 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
4987 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
4988 shell: bash
4989 - id: flowey_lib_common__git_checkout__1
4990 uses: actions/checkout@v6
4991 with:
4992 fetch-depth: '1'
4993 path: repo0
4994 persist-credentials: ${{ env.floweyvar3 }}
4995 name: checkout repo openvmm
4996 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4997 - name: report cloned repo directories
4998 run: |-
4999 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
5000 ${{ github.workspace }}
5001 EOF
5002 flowey.exe e 25 flowey_lib_common::git_checkout 3
5003 flowey.exe e 25 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5004 flowey.exe e 25 flowey_lib_hvlite::run_cargo_nextest_run 0
5005 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 5
5006 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 6
5007 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 1
5008 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 0
5009 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 9
5010 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 2
5011 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 4
5012 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 11
5013 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 10
5014 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 3
5015 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 8
5016 shell: bash
5017 - name: creating new test content dir
5018 run: flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
5019 shell: bash
5020 - name: resolve OpenHCL igvm artifact
5021 run: flowey.exe e 25 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
5022 shell: bash
5023 - name: create gh-release-download cache dir
5024 run: flowey.exe e 25 flowey_lib_common::download_gh_release 0
5025 shell: bash
5026 - name: Pre-processing cache vars
5027 run: |-
5028 flowey.exe e 25 flowey_lib_common::cache 8
5029 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
5030 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
5031 shell: bash
5032 - id: flowey_lib_common__cache__9
5033 uses: actions/cache@v5
5034 with:
5035 key: ${{ env.floweyvar8 }}
5036 path: ${{ env.floweyvar9 }}
5037 name: 'Restore cache: gh-release-download'
5038 - name: download artifacts from github releases
5039 run: |-
5040 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
5041 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
5042 EOF
5043 flowey.exe e 25 flowey_lib_common::cache 10
5044 flowey.exe e 25 flowey_lib_common::download_gh_release 1
5045 shell: bash
5046 - name: extract azcopy from archive
5047 run: flowey.exe e 25 flowey_lib_common::download_azcopy 0
5048 shell: bash
5049 - name: calculating required VMM tests disk images
5050 run: flowey.exe e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
5051 shell: bash
5052 - name: downloading VMM test disk images
5053 run: |-
5054 flowey.exe e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
5055 flowey.exe e 25 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
5056 shell: bash
5057 - name: create gh cache dir
5058 run: flowey.exe e 25 flowey_lib_common::download_gh_cli 0
5059 shell: bash
5060 - name: Pre-processing cache vars
5061 run: |-
5062 flowey.exe e 25 flowey_lib_common::cache 4
5063 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
5064 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
5065 shell: bash
5066 - id: flowey_lib_common__cache__5
5067 uses: actions/cache@v5
5068 with:
5069 key: ${{ env.floweyvar6 }}
5070 path: ${{ env.floweyvar7 }}
5071 name: 'Restore cache: gh-cli'
5072 - name: installing gh
5073 run: |-
5074 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
5075 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
5076 EOF
5077 flowey.exe e 25 flowey_lib_common::cache 6
5078 flowey.exe e 25 flowey_lib_common::download_gh_cli 1
5079 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
5080 ${{ github.token }}
5081 EOF
5082 shell: bash
5083 - name: setup gh cli
5084 run: flowey.exe e 25 flowey_lib_common::use_gh_cli 0
5085 shell: bash
5086 - name: get latest completed action id
5087 run: flowey.exe e 25 flowey_lib_common::gh_latest_completed_workflow_id 0
5088 shell: bash
5089 - name: download artifacts from github actions run
5090 run: |-
5091 flowey.exe e 25 flowey_lib_common::download_gh_artifact 0
5092 flowey.exe e 25 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
5093 shell: bash
5094 - name: unpack openvmm-test-initrd archives
5095 run: flowey.exe e 25 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
5096 shell: bash
5097 - name: unpack openvmm-test-linux archives
5098 run: flowey.exe e 25 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
5099 shell: bash
5100 - name: unpack mu_msvm package (x64)
5101 run: flowey.exe e 25 flowey_lib_hvlite::download_uefi_mu_msvm 0
5102 shell: bash
5103 - name: setting up vmm_tests env
5104 run: |-
5105 flowey.exe e 25 flowey_lib_hvlite::init_vmm_tests_env 0
5106 flowey.exe e 25 flowey_lib_hvlite::run_cargo_nextest_run 1
5107 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 12
5108 flowey.exe e 25 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
5109 shell: bash
5110 - name: generate nextest command
5111 run: flowey.exe e 25 flowey_lib_common::gen_cargo_nextest_run_cmd 0
5112 shell: bash
5113 - name: install vmm tests deps (windows)
5114 run: flowey.exe e 25 flowey_lib_hvlite::install_vmm_tests_deps 0
5115 shell: bash
5116 - name: starting test_igvm_agent_rpc_server
5117 run: |-
5118 flowey.exe e 25 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
5119 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 7
5120 shell: bash
5121 - name: running vmm_test prep_steps
5122 run: flowey.exe e 25 flowey_lib_hvlite::run_prep_steps 0
5123 shell: bash
5124 - name: run 'vmm_tests' nextest tests
5125 run: |-
5126 flowey.exe e 25 flowey_lib_common::run_cargo_nextest_run 0
5127 flowey.exe e 25 flowey_lib_common::run_cargo_nextest_run 1
5128 flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
5129 shell: bash
5130 - name: stopping test_igvm_agent_rpc_server
5131 run: |-
5132 flowey.exe e 25 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
5133 flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
5134 flowey.exe e 25 flowey_lib_common::publish_test_results 4
5135 flowey.exe e 25 flowey_lib_common::publish_test_results 5
5136 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
5137 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
5138 shell: bash
5139 - id: flowey_lib_common__publish_test_results__6
5140 uses: actions/upload-artifact@v7
5141 with:
5142 name: x64-windows-amd-snp-vmm-tests-logs
5143 path: ${{ env.floweyvar2 }}
5144 name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)'
5145 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5146 - name: 🦀 flowey rust steps
5147 run: |-
5148 flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
5149 flowey.exe e 25 flowey_lib_common::publish_test_results 0
5150 flowey.exe e 25 flowey_lib_common::publish_test_results 1
5151 flowey.exe e 25 flowey_lib_common::publish_test_results 2
5152 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
5153 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
5154 shell: bash
5155 - id: flowey_lib_common__publish_test_results__3
5156 uses: actions/upload-artifact@v7
5157 with:
5158 name: x64-windows-amd-snp-vmm-tests-junit-xml
5159 path: ${{ env.floweyvar1 }}
5160 name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)'
5161 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5162 - name: report test results to overall pipeline status
5163 run: flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
5164 shell: bash
5165 - name: 'validate cache entry: cargo-nextest'
5166 run: flowey.exe e 25 flowey_lib_common::cache 3
5167 shell: bash
5168 - name: 'validate cache entry: gh-cli'
5169 run: flowey.exe e 25 flowey_lib_common::cache 7
5170 shell: bash
5171 - name: 'validate cache entry: gh-release-download'
5172 run: flowey.exe e 25 flowey_lib_common::cache 11
5173 shell: bash
5174 job26:
5175 name: run vmm-tests [x64-linux-amd-kvm]
5176 runs-on:
5177 - self-hosted
5178 - 1ES.Pool=openvmm-gh-amd-westus3
5179 - 1ES.ImageOverride=ubuntu2404-amd64
5180 - JobId=job26-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
5181 permissions:
5182 contents: read
5183 id-token: write
5184 needs:
5185 - job0
5186 - job2
5187 - job3
5188 - job9
5189 if: github.event.pull_request.draft == false
5190 steps:
5191 - name: 🌼📦 Download artifacts
5192 uses: actions/download-artifact@v8
5193 with:
5194 pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-1,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-openvmm,x64-linux-openvmm_vhost,x64-linux-vmm-tests-archive,x64-tmks,x64-windows-pipette}'
5195 path: ${{ runner.temp }}/used_artifacts/
5196 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
5197 shell: bash
5198 name: 🌼📦 Add flowey to PATH
5199 - name: 🌼🛫 Initialize job
5200 run: |
5201 AgentTempDirNormal="${{ runner.temp }}"
5202 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5203 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5204
5205 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
5206
5207 echo '"debug"' | flowey v 26 'FLOWEY_LOG' update
5208 echo "${{ runner.temp }}/work" | flowey v 26 '_internal_WORKING_DIR' --is-raw-string update
5209
5210 cat <<'EOF' | flowey v 26 'verbose' update
5211 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5212 EOF
5213 echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 26 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
5214 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 26 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
5215 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 26 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
5216 echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 26 'artifact_use_from_x64-linux-openvmm' --is-raw-string update
5217 echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm_vhost" | flowey v 26 'artifact_use_from_x64-linux-openvmm_vhost' --is-raw-string update
5218 echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 26 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update
5219 echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 26 'artifact_use_from_x64-tmks' --is-raw-string update
5220 echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 26 'artifact_use_from_x64-windows-pipette' --is-raw-string update
5221 shell: bash
5222 - name: creating new test content dir
5223 run: |-
5224 flowey e 26 flowey_core::pipeline::artifact::resolve 3
5225 flowey e 26 flowey_core::pipeline::artifact::resolve 4
5226 flowey e 26 flowey_core::pipeline::artifact::resolve 7
5227 flowey e 26 flowey_core::pipeline::artifact::resolve 1
5228 flowey e 26 flowey_core::pipeline::artifact::resolve 0
5229 flowey e 26 flowey_core::pipeline::artifact::resolve 2
5230 flowey e 26 flowey_core::pipeline::artifact::resolve 6
5231 flowey e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
5232 shell: bash
5233 - name: checking if packages need to be installed
5234 run: flowey e 26 flowey_lib_common::install_dist_pkg 0
5235 shell: bash
5236 - name: installing packages
5237 run: flowey e 26 flowey_lib_common::install_dist_pkg 1
5238 shell: bash
5239 - name: create gh-release-download cache dir
5240 run: flowey e 26 flowey_lib_common::download_gh_release 0
5241 shell: bash
5242 - name: Pre-processing cache vars
5243 run: |-
5244 flowey e 26 flowey_lib_common::cache 8
5245 flowey v 26 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
5246 flowey v 26 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
5247 shell: bash
5248 - id: flowey_lib_common__cache__9
5249 uses: actions/cache@v5
5250 with:
5251 key: ${{ env.floweyvar8 }}
5252 path: ${{ env.floweyvar9 }}
5253 name: 'Restore cache: gh-release-download'
5254 - name: download artifacts from github releases
5255 run: |-
5256 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
5257 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
5258 EOF
5259 flowey e 26 flowey_lib_common::cache 10
5260 flowey e 26 flowey_lib_common::download_gh_release 1
5261 shell: bash
5262 - name: extract azcopy from archive
5263 run: flowey e 26 flowey_lib_common::download_azcopy 0
5264 shell: bash
5265 - name: calculating required VMM tests disk images
5266 run: flowey e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
5267 shell: bash
5268 - name: downloading VMM test disk images
5269 run: |-
5270 flowey e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
5271 flowey e 26 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
5272 shell: bash
5273 - name: create gh cache dir
5274 run: flowey e 26 flowey_lib_common::download_gh_cli 0
5275 shell: bash
5276 - name: Pre-processing cache vars
5277 run: |-
5278 flowey e 26 flowey_lib_common::cache 4
5279 flowey v 26 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
5280 flowey v 26 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
5281 shell: bash
5282 - id: flowey_lib_common__cache__5
5283 uses: actions/cache@v5
5284 with:
5285 key: ${{ env.floweyvar6 }}
5286 path: ${{ env.floweyvar7 }}
5287 name: 'Restore cache: gh-cli'
5288 - name: installing gh
5289 run: |-
5290 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
5291 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
5292 EOF
5293 flowey e 26 flowey_lib_common::cache 6
5294 flowey e 26 flowey_lib_common::download_gh_cli 1
5295 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
5296 ${{ github.token }}
5297 EOF
5298 shell: bash
5299 - name: setup gh cli
5300 run: flowey e 26 flowey_lib_common::use_gh_cli 0
5301 shell: bash
5302 - name: get latest completed action id
5303 run: flowey e 26 flowey_lib_common::gh_latest_completed_workflow_id 0
5304 shell: bash
5305 - name: download artifacts from github actions run
5306 run: |-
5307 flowey e 26 flowey_lib_common::download_gh_artifact 0
5308 flowey e 26 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
5309 shell: bash
5310 - name: unpack openvmm-test-initrd archives
5311 run: flowey e 26 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
5312 shell: bash
5313 - name: unpack openvmm-test-linux archives
5314 run: flowey e 26 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
5315 shell: bash
5316 - name: unpack mu_msvm package (x64)
5317 run: flowey e 26 flowey_lib_hvlite::download_uefi_mu_msvm 0
5318 shell: bash
5319 - name: setting up vmm_tests env
5320 run: flowey e 26 flowey_lib_hvlite::init_vmm_tests_env 0
5321 shell: bash
5322 - name: ensure hypervisor device is accessible
5323 run: flowey e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1
5324 shell: bash
5325 - name: ensure 2 MiB hugetlb pages are available
5326 run: flowey e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 2
5327 shell: bash
5328 - name: create cargo-nextest cache dir
5329 run: |-
5330 flowey e 26 flowey_lib_common::download_cargo_nextest 0
5331 flowey e 26 flowey_lib_common::download_cargo_nextest 1
5332 flowey e 26 flowey_lib_common::download_cargo_nextest 2
5333 flowey e 26 flowey_lib_common::download_cargo_nextest 3
5334 shell: bash
5335 - name: Pre-processing cache vars
5336 run: |-
5337 flowey e 26 flowey_lib_common::cache 0
5338 flowey v 26 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
5339 flowey v 26 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
5340 shell: bash
5341 - id: flowey_lib_common__cache__1
5342 uses: actions/cache@v5
5343 with:
5344 key: ${{ env.floweyvar4 }}
5345 path: ${{ env.floweyvar5 }}
5346 name: 'Restore cache: cargo-nextest'
5347 - name: downloading cargo-nextest
5348 run: |-
5349 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
5350 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5351 EOF
5352 flowey e 26 flowey_lib_common::cache 2
5353 flowey e 26 flowey_lib_common::download_cargo_nextest 4
5354 shell: bash
5355 - name: check if openvmm needs to be cloned
5356 run: |-
5357 flowey e 26 flowey_lib_common::git_checkout 0
5358 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
5359 flowey v 26 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
5360 shell: bash
5361 - id: flowey_lib_common__git_checkout__1
5362 uses: actions/checkout@v6
5363 with:
5364 fetch-depth: '1'
5365 path: repo0
5366 persist-credentials: ${{ env.floweyvar3 }}
5367 name: checkout repo openvmm
5368 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5369 - name: report cloned repo directories
5370 run: |-
5371 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
5372 ${{ github.workspace }}
5373 EOF
5374 flowey e 26 flowey_lib_common::git_checkout 3
5375 flowey e 26 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5376 flowey e 26 flowey_lib_hvlite::run_cargo_nextest_run 0
5377 flowey e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
5378 flowey e 26 flowey_lib_hvlite::run_cargo_nextest_run 1
5379 flowey e 26 flowey_core::pipeline::artifact::resolve 5
5380 flowey e 26 flowey_lib_hvlite::test_nextest_vmm_tests_archive 3
5381 shell: bash
5382 - name: generate nextest command
5383 run: flowey e 26 flowey_lib_common::gen_cargo_nextest_run_cmd 0
5384 shell: bash
5385 - name: install vmm tests deps (linux)
5386 run: flowey e 26 flowey_lib_hvlite::install_vmm_tests_deps 0
5387 shell: bash
5388 - name: run 'vmm_tests' nextest tests
5389 run: |-
5390 flowey e 26 flowey_lib_common::run_cargo_nextest_run 0
5391 flowey e 26 flowey_lib_common::run_cargo_nextest_run 1
5392 flowey e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
5393 flowey e 26 flowey_lib_common::publish_test_results 4
5394 flowey e 26 flowey_lib_common::publish_test_results 5
5395 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
5396 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
5397 shell: bash
5398 - id: flowey_lib_common__publish_test_results__6
5399 uses: actions/upload-artifact@v7
5400 with:
5401 name: x64-linux-amd-kvm-vmm-tests-logs
5402 path: ${{ env.floweyvar2 }}
5403 name: 'publish test results: x64-linux-amd-kvm-vmm-tests (logs)'
5404 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5405 - name: 🦀 flowey rust steps
5406 run: |-
5407 flowey e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
5408 flowey e 26 flowey_lib_common::publish_test_results 0
5409 flowey e 26 flowey_lib_common::publish_test_results 1
5410 flowey e 26 flowey_lib_common::publish_test_results 2
5411 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
5412 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
5413 shell: bash
5414 - id: flowey_lib_common__publish_test_results__3
5415 uses: actions/upload-artifact@v7
5416 with:
5417 name: x64-linux-amd-kvm-vmm-tests-junit-xml
5418 path: ${{ env.floweyvar1 }}
5419 name: 'publish test results: x64-linux-amd-kvm-vmm-tests (JUnit XML)'
5420 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5421 - name: report test results to overall pipeline status
5422 run: flowey e 26 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
5423 shell: bash
5424 - name: 'validate cache entry: cargo-nextest'
5425 run: flowey e 26 flowey_lib_common::cache 3
5426 shell: bash
5427 - name: 'validate cache entry: gh-cli'
5428 run: flowey e 26 flowey_lib_common::cache 7
5429 shell: bash
5430 - name: 'validate cache entry: gh-release-download'
5431 run: flowey e 26 flowey_lib_common::cache 11
5432 shell: bash
5433 job27:
5434 name: run vmm-tests [x64-linux-intel-mshv]
5435 runs-on:
5436 - self-hosted
5437 - 1ES.Pool=openvmm-gh-intel-westus3
5438 - 1ES.ImageOverride=azurelinux3-amd64-dom0
5439 - JobId=job27-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
5440 permissions:
5441 contents: read
5442 id-token: write
5443 needs:
5444 - job0
5445 - job2
5446 - job3
5447 - job9
5448 if: github.event.pull_request.draft == false
5449 steps:
5450 - run: |
5451 set -x
5452 sudo tdnf install -y gcc glibc-devel
5453 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
5454 . "$HOME/.cargo/env"
5455 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
5456 rustup show
5457 if: runner.os == 'Linux'
5458 name: rustup (Linux)
5459 shell: bash
5460 - run: |
5461 set -x
5462 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
5463 ./rustup-init.exe -y --default-toolchain=1.95.0
5464 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
5465 if: runner.os == 'Windows' && runner.arch == 'X64'
5466 name: rustup (Windows X64)
5467 shell: bash
5468 - run: |
5469 set -x
5470 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
5471 ./rustup-init.exe -y --default-toolchain=1.95.0
5472 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
5473 if: runner.os == 'Windows' && runner.arch == 'ARM64'
5474 name: rustup (Windows ARM64)
5475 shell: bash
5476 - uses: actions/checkout@v6
5477 with:
5478 path: flowey_bootstrap
5479 - name: Build flowey
5480 run: |
5481 set -x
5482 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci
5483 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5484 mkdir -p "$OutDirNormal"
5485 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
5486 mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
5487 working-directory: flowey_bootstrap
5488 shell: bash
5489 - name: 🌼📦 Download artifacts
5490 uses: actions/download-artifact@v8
5491 with:
5492 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-tmks,x64-windows-pipette}'
5493 path: ${{ runner.temp }}/used_artifacts/
5494 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
5495 shell: bash
5496 name: 🌼📦 Add flowey to PATH
5497 - name: 🌼🔎 Self-check YAML
5498 run: |-
5499 ESCAPED_AGENT_TEMPDIR=$(
5500 cat <<'EOF' | sed 's/\\/\\\\/g'
5501 ${{ runner.temp }}
5502 EOF
5503 )
5504 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
5505 shell: bash
5506 - name: 🌼🛫 Initialize job
5507 run: |
5508 AgentTempDirNormal="${{ runner.temp }}"
5509 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5510 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5511
5512 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
5513
5514 echo '"debug"' | flowey v 27 'FLOWEY_LOG' update
5515 echo "${{ runner.temp }}/work" | flowey v 27 '_internal_WORKING_DIR' --is-raw-string update
5516
5517 cat <<'EOF' | flowey v 27 'verbose' update
5518 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5519 EOF
5520 echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 27 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
5521 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 27 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update
5522 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 27 'artifact_use_from_x64-linux-musl-openvmm_vhost' --is-raw-string update
5523 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 27 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
5524 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 27 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
5525 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
5526 echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 27 'artifact_use_from_x64-tmks' --is-raw-string update
5527 echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 27 'artifact_use_from_x64-windows-pipette' --is-raw-string update
5528 shell: bash
5529 - name: creating new test content dir
5530 run: |-
5531 flowey e 27 flowey_core::pipeline::artifact::resolve 1
5532 flowey e 27 flowey_core::pipeline::artifact::resolve 2
5533 flowey e 27 flowey_core::pipeline::artifact::resolve 7
5534 flowey e 27 flowey_core::pipeline::artifact::resolve 3
5535 flowey e 27 flowey_core::pipeline::artifact::resolve 0
5536 flowey e 27 flowey_core::pipeline::artifact::resolve 4
5537 flowey e 27 flowey_core::pipeline::artifact::resolve 6
5538 flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
5539 shell: bash
5540 - name: checking if packages need to be installed
5541 run: flowey e 27 flowey_lib_common::install_dist_pkg 0
5542 shell: bash
5543 - name: installing packages
5544 run: flowey e 27 flowey_lib_common::install_dist_pkg 1
5545 shell: bash
5546 - name: create gh-release-download cache dir
5547 run: flowey e 27 flowey_lib_common::download_gh_release 0
5548 shell: bash
5549 - name: Pre-processing cache vars
5550 run: |-
5551 flowey e 27 flowey_lib_common::cache 8
5552 flowey v 27 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
5553 flowey v 27 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
5554 shell: bash
5555 - id: flowey_lib_common__cache__9
5556 uses: actions/cache@v5
5557 with:
5558 key: ${{ env.floweyvar8 }}
5559 path: ${{ env.floweyvar9 }}
5560 name: 'Restore cache: gh-release-download'
5561 - name: download artifacts from github releases
5562 run: |-
5563 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
5564 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
5565 EOF
5566 flowey e 27 flowey_lib_common::cache 10
5567 flowey e 27 flowey_lib_common::download_gh_release 1
5568 shell: bash
5569 - name: extract azcopy from archive
5570 run: flowey e 27 flowey_lib_common::download_azcopy 0
5571 shell: bash
5572 - name: calculating required VMM tests disk images
5573 run: flowey e 27 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
5574 shell: bash
5575 - name: downloading VMM test disk images
5576 run: |-
5577 flowey e 27 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
5578 flowey e 27 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
5579 shell: bash
5580 - name: create gh cache dir
5581 run: flowey e 27 flowey_lib_common::download_gh_cli 0
5582 shell: bash
5583 - name: Pre-processing cache vars
5584 run: |-
5585 flowey e 27 flowey_lib_common::cache 4
5586 flowey v 27 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
5587 flowey v 27 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
5588 shell: bash
5589 - id: flowey_lib_common__cache__5
5590 uses: actions/cache@v5
5591 with:
5592 key: ${{ env.floweyvar6 }}
5593 path: ${{ env.floweyvar7 }}
5594 name: 'Restore cache: gh-cli'
5595 - name: installing gh
5596 run: |-
5597 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
5598 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
5599 EOF
5600 flowey e 27 flowey_lib_common::cache 6
5601 flowey e 27 flowey_lib_common::download_gh_cli 1
5602 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
5603 ${{ github.token }}
5604 EOF
5605 shell: bash
5606 - name: setup gh cli
5607 run: flowey e 27 flowey_lib_common::use_gh_cli 0
5608 shell: bash
5609 - name: get latest completed action id
5610 run: flowey e 27 flowey_lib_common::gh_latest_completed_workflow_id 0
5611 shell: bash
5612 - name: download artifacts from github actions run
5613 run: |-
5614 flowey e 27 flowey_lib_common::download_gh_artifact 0
5615 flowey e 27 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
5616 shell: bash
5617 - name: unpack openvmm-test-initrd archives
5618 run: flowey e 27 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
5619 shell: bash
5620 - name: unpack openvmm-test-linux archives
5621 run: flowey e 27 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
5622 shell: bash
5623 - name: unpack mu_msvm package (x64)
5624 run: flowey e 27 flowey_lib_hvlite::download_uefi_mu_msvm 0
5625 shell: bash
5626 - name: setting up vmm_tests env
5627 run: flowey e 27 flowey_lib_hvlite::init_vmm_tests_env 0
5628 shell: bash
5629 - name: ensure hypervisor device is accessible
5630 run: flowey e 27 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
5631 shell: bash
5632 - name: create cargo-nextest cache dir
5633 run: |-
5634 flowey e 27 flowey_lib_common::download_cargo_nextest 0
5635 flowey e 27 flowey_lib_common::download_cargo_nextest 1
5636 flowey e 27 flowey_lib_common::download_cargo_nextest 2
5637 flowey e 27 flowey_lib_common::download_cargo_nextest 3
5638 shell: bash
5639 - name: Pre-processing cache vars
5640 run: |-
5641 flowey e 27 flowey_lib_common::cache 0
5642 flowey v 27 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
5643 flowey v 27 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
5644 shell: bash
5645 - id: flowey_lib_common__cache__1
5646 uses: actions/cache@v5
5647 with:
5648 key: ${{ env.floweyvar4 }}
5649 path: ${{ env.floweyvar5 }}
5650 name: 'Restore cache: cargo-nextest'
5651 - name: downloading cargo-nextest
5652 run: |-
5653 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
5654 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5655 EOF
5656 flowey e 27 flowey_lib_common::cache 2
5657 flowey e 27 flowey_lib_common::download_cargo_nextest 4
5658 shell: bash
5659 - name: check if openvmm needs to be cloned
5660 run: |-
5661 flowey e 27 flowey_lib_common::git_checkout 0
5662 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
5663 flowey v 27 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
5664 shell: bash
5665 - id: flowey_lib_common__git_checkout__1
5666 uses: actions/checkout@v6
5667 with:
5668 fetch-depth: '1'
5669 path: repo0
5670 persist-credentials: ${{ env.floweyvar3 }}
5671 name: checkout repo openvmm
5672 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5673 - name: report cloned repo directories
5674 run: |-
5675 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
5676 ${{ github.workspace }}
5677 EOF
5678 flowey e 27 flowey_lib_common::git_checkout 3
5679 flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5680 flowey e 27 flowey_lib_hvlite::run_cargo_nextest_run 0
5681 flowey e 27 flowey_lib_hvlite::run_cargo_nextest_run 1
5682 flowey e 27 flowey_core::pipeline::artifact::resolve 5
5683 flowey e 27 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1
5684 shell: bash
5685 - name: generate nextest command
5686 run: flowey e 27 flowey_lib_common::gen_cargo_nextest_run_cmd 0
5687 shell: bash
5688 - name: install vmm tests deps (linux)
5689 run: flowey e 27 flowey_lib_hvlite::install_vmm_tests_deps 0
5690 shell: bash
5691 - name: run 'vmm_tests' nextest tests
5692 run: |-
5693 flowey e 27 flowey_lib_common::run_cargo_nextest_run 0
5694 flowey e 27 flowey_lib_common::run_cargo_nextest_run 1
5695 flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
5696 flowey e 27 flowey_lib_common::publish_test_results 4
5697 flowey e 27 flowey_lib_common::publish_test_results 5
5698 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
5699 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
5700 shell: bash
5701 - id: flowey_lib_common__publish_test_results__6
5702 uses: actions/upload-artifact@v7
5703 with:
5704 name: x64-linux-intel-mshv-vmm-tests-logs
5705 path: ${{ env.floweyvar2 }}
5706 name: 'publish test results: x64-linux-intel-mshv-vmm-tests (logs)'
5707 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5708 - name: 🦀 flowey rust steps
5709 run: |-
5710 flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
5711 flowey e 27 flowey_lib_common::publish_test_results 0
5712 flowey e 27 flowey_lib_common::publish_test_results 1
5713 flowey e 27 flowey_lib_common::publish_test_results 2
5714 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
5715 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
5716 shell: bash
5717 - id: flowey_lib_common__publish_test_results__3
5718 uses: actions/upload-artifact@v7
5719 with:
5720 name: x64-linux-intel-mshv-vmm-tests-junit-xml
5721 path: ${{ env.floweyvar1 }}
5722 name: 'publish test results: x64-linux-intel-mshv-vmm-tests (JUnit XML)'
5723 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5724 - name: report test results to overall pipeline status
5725 run: flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
5726 shell: bash
5727 - name: 'validate cache entry: cargo-nextest'
5728 run: flowey e 27 flowey_lib_common::cache 3
5729 shell: bash
5730 - name: 'validate cache entry: gh-cli'
5731 run: flowey e 27 flowey_lib_common::cache 7
5732 shell: bash
5733 - name: 'validate cache entry: gh-release-download'
5734 run: flowey e 27 flowey_lib_common::cache 11
5735 shell: bash
5736 job28:
5737 name: run vmm-tests [aarch64-windows]
5738 runs-on:
5739 - self-hosted
5740 - Windows
5741 - ARM64
5742 - Baremetal
5743 permissions:
5744 contents: read
5745 id-token: write
5746 needs:
5747 - job0
5748 - job10
5749 - job2
5750 - job3
5751 - job5
5752 if: github.event.pull_request.draft == false
5753 steps:
5754 - run: |
5755 set -x
5756 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
5757 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
5758 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
5759 . "$HOME/.cargo/env"
5760 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
5761 rustup show
5762 if: runner.os == 'Linux'
5763 name: rustup (Linux)
5764 shell: bash
5765 - run: |
5766 set -x
5767 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
5768 ./rustup-init.exe -y --default-toolchain=1.95.0
5769 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
5770 if: runner.os == 'Windows' && runner.arch == 'X64'
5771 name: rustup (Windows X64)
5772 shell: bash
5773 - run: |
5774 set -x
5775 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
5776 ./rustup-init.exe -y --default-toolchain=1.95.0
5777 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
5778 if: runner.os == 'Windows' && runner.arch == 'ARM64'
5779 name: rustup (Windows ARM64)
5780 shell: bash
5781 - uses: actions/checkout@v6
5782 with:
5783 path: flowey_bootstrap
5784 - name: Build flowey
5785 run: |
5786 set -x
5787 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci
5788 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5789 mkdir -p "$OutDirNormal"
5790 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
5791 mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
5792 working-directory: flowey_bootstrap
5793 shell: bash
5794 - name: 🌼📦 Download artifacts
5795 uses: actions/download-artifact@v8
5796 with:
5797 pattern: '{aarch64-guest_test_uefi,aarch64-linux-musl-pipette,aarch64-linux-musl-tmk_vmm,aarch64-openhcl-igvm,aarch64-tmks,aarch64-windows-openvmm,aarch64-windows-pipette,aarch64-windows-tmk_vmm,aarch64-windows-vmgstool,aarch64-windows-vmm-tests-archive}'
5798 path: ${{ runner.temp }}/used_artifacts/
5799 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
5800 shell: bash
5801 name: 🌼📦 Add flowey to PATH
5802 - name: 🌼🔎 Self-check YAML
5803 run: |-
5804 ESCAPED_AGENT_TEMPDIR=$(
5805 cat <<'EOF' | sed 's/\\/\\\\/g'
5806 ${{ runner.temp }}
5807 EOF
5808 )
5809 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
5810 shell: bash
5811 - name: 🌼🛫 Initialize job
5812 run: |
5813 AgentTempDirNormal="${{ runner.temp }}"
5814 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5815 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5816
5817 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
5818
5819 echo '"debug"' | flowey.exe v 28 'FLOWEY_LOG' update
5820 echo "${{ runner.temp }}/work" | flowey.exe v 28 '_internal_WORKING_DIR' --is-raw-string update
5821
5822 cat <<'EOF' | flowey.exe v 28 'verbose' update
5823 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5824 EOF
5825 echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 28 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update
5826 echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 28 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update
5827 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
5828 echo "${{ runner.temp }}\\used_artifacts\\aarch64-openhcl-igvm" | flowey.exe v 28 'artifact_use_from_aarch64-openhcl-igvm' --is-raw-string update
5829 echo "${{ runner.temp }}\\used_artifacts\\aarch64-tmks" | flowey.exe v 28 'artifact_use_from_aarch64-tmks' --is-raw-string update
5830 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-openvmm" | flowey.exe v 28 'artifact_use_from_aarch64-windows-openvmm' --is-raw-string update
5831 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-pipette" | flowey.exe v 28 'artifact_use_from_aarch64-windows-pipette' --is-raw-string update
5832 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 28 'artifact_use_from_aarch64-windows-tmk_vmm' --is-raw-string update
5833 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 28 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update
5834 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
5835 shell: bash
5836 - name: create cargo-nextest cache dir
5837 run: |-
5838 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 0
5839 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 1
5840 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 2
5841 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 3
5842 shell: bash
5843 - name: Pre-processing cache vars
5844 run: |-
5845 flowey.exe e 28 flowey_lib_common::cache 0
5846 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
5847 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
5848 shell: bash
5849 - id: flowey_lib_common__cache__1
5850 uses: actions/cache@v5
5851 with:
5852 key: ${{ env.floweyvar4 }}
5853 path: ${{ env.floweyvar5 }}
5854 name: 'Restore cache: cargo-nextest'
5855 - name: downloading cargo-nextest
5856 run: |-
5857 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
5858 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5859 EOF
5860 flowey.exe e 28 flowey_lib_common::cache 2
5861 flowey.exe e 28 flowey_lib_common::download_cargo_nextest 4
5862 shell: bash
5863 - name: check if openvmm needs to be cloned
5864 run: |-
5865 flowey.exe e 28 flowey_lib_common::git_checkout 0
5866 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
5867 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
5868 shell: bash
5869 - id: flowey_lib_common__git_checkout__1
5870 uses: actions/checkout@v6
5871 with:
5872 fetch-depth: '1'
5873 path: repo0
5874 persist-credentials: ${{ env.floweyvar3 }}
5875 name: checkout repo openvmm
5876 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5877 - name: report cloned repo directories
5878 run: |-
5879 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
5880 ${{ github.workspace }}
5881 EOF
5882 flowey.exe e 28 flowey_lib_common::git_checkout 3
5883 flowey.exe e 28 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5884 flowey.exe e 28 flowey_lib_hvlite::run_cargo_nextest_run 0
5885 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 4
5886 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 5
5887 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 1
5888 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 0
5889 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 6
5890 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 2
5891 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 3
5892 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 7
5893 shell: bash
5894 - name: creating new test content dir
5895 run: flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
5896 shell: bash
5897 - name: resolve OpenHCL igvm artifact
5898 run: flowey.exe e 28 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
5899 shell: bash
5900 - name: create gh-release-download cache dir
5901 run: flowey.exe e 28 flowey_lib_common::download_gh_release 0
5902 shell: bash
5903 - name: Pre-processing cache vars
5904 run: |-
5905 flowey.exe e 28 flowey_lib_common::cache 8
5906 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
5907 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
5908 shell: bash
5909 - id: flowey_lib_common__cache__9
5910 uses: actions/cache@v5
5911 with:
5912 key: ${{ env.floweyvar8 }}
5913 path: ${{ env.floweyvar9 }}
5914 name: 'Restore cache: gh-release-download'
5915 - name: download artifacts from github releases
5916 run: |-
5917 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
5918 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
5919 EOF
5920 flowey.exe e 28 flowey_lib_common::cache 10
5921 flowey.exe e 28 flowey_lib_common::download_gh_release 1
5922 shell: bash
5923 - name: extract azcopy from archive
5924 run: flowey.exe e 28 flowey_lib_common::download_azcopy 0
5925 shell: bash
5926 - name: calculating required VMM tests disk images
5927 run: flowey.exe e 28 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
5928 shell: bash
5929 - name: downloading VMM test disk images
5930 run: |-
5931 flowey.exe e 28 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
5932 flowey.exe e 28 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
5933 shell: bash
5934 - name: create gh cache dir
5935 run: flowey.exe e 28 flowey_lib_common::download_gh_cli 0
5936 shell: bash
5937 - name: Pre-processing cache vars
5938 run: |-
5939 flowey.exe e 28 flowey_lib_common::cache 4
5940 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
5941 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
5942 shell: bash
5943 - id: flowey_lib_common__cache__5
5944 uses: actions/cache@v5
5945 with:
5946 key: ${{ env.floweyvar6 }}
5947 path: ${{ env.floweyvar7 }}
5948 name: 'Restore cache: gh-cli'
5949 - name: installing gh
5950 run: |-
5951 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
5952 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
5953 EOF
5954 flowey.exe e 28 flowey_lib_common::cache 6
5955 flowey.exe e 28 flowey_lib_common::download_gh_cli 1
5956 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
5957 ${{ github.token }}
5958 EOF
5959 shell: bash
5960 - name: setup gh cli
5961 run: flowey.exe e 28 flowey_lib_common::use_gh_cli 0
5962 shell: bash
5963 - name: get latest completed action id
5964 run: flowey.exe e 28 flowey_lib_common::gh_latest_completed_workflow_id 0
5965 shell: bash
5966 - name: download artifacts from github actions run
5967 run: |-
5968 flowey.exe e 28 flowey_lib_common::download_gh_artifact 0
5969 flowey.exe e 28 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
5970 shell: bash
5971 - name: unpack openvmm-test-initrd archives
5972 run: flowey.exe e 28 flowey_lib_hvlite::resolve_openvmm_test_initrd 0
5973 shell: bash
5974 - name: unpack openvmm-test-linux archives
5975 run: flowey.exe e 28 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0
5976 shell: bash
5977 - name: unpack mu_msvm package (aarch64)
5978 run: flowey.exe e 28 flowey_lib_hvlite::download_uefi_mu_msvm 0
5979 shell: bash
5980 - name: setting up vmm_tests env
5981 run: |-
5982 flowey.exe e 28 flowey_lib_hvlite::init_vmm_tests_env 0
5983 flowey.exe e 28 flowey_lib_hvlite::run_cargo_nextest_run 1
5984 flowey.exe e 28 flowey_core::pipeline::artifact::resolve 8
5985 flowey.exe e 28 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
5986 shell: bash
5987 - name: generate nextest command
5988 run: flowey.exe e 28 flowey_lib_common::gen_cargo_nextest_run_cmd 0
5989 shell: bash
5990 - name: install vmm tests deps (windows)
5991 run: flowey.exe e 28 flowey_lib_hvlite::install_vmm_tests_deps 0
5992 shell: bash
5993 - name: starting test_igvm_agent_rpc_server
5994 run: flowey.exe e 28 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
5995 shell: bash
5996 - name: run 'vmm_tests' nextest tests
5997 run: |-
5998 flowey.exe e 28 flowey_lib_common::run_cargo_nextest_run 0
5999 flowey.exe e 28 flowey_lib_common::run_cargo_nextest_run 1
6000 flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
6001 shell: bash
6002 - name: stopping test_igvm_agent_rpc_server
6003 run: |-
6004 flowey.exe e 28 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
6005 flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
6006 flowey.exe e 28 flowey_lib_common::publish_test_results 4
6007 flowey.exe e 28 flowey_lib_common::publish_test_results 5
6008 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
6009 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
6010 shell: bash
6011 - id: flowey_lib_common__publish_test_results__6
6012 uses: actions/upload-artifact@v7
6013 with:
6014 name: aarch64-windows-vmm-tests-logs
6015 path: ${{ env.floweyvar2 }}
6016 name: 'publish test results: aarch64-windows-vmm-tests (logs)'
6017 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6018 - name: 🦀 flowey rust steps
6019 run: |-
6020 flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
6021 flowey.exe e 28 flowey_lib_common::publish_test_results 0
6022 flowey.exe e 28 flowey_lib_common::publish_test_results 1
6023 flowey.exe e 28 flowey_lib_common::publish_test_results 2
6024 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
6025 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
6026 shell: bash
6027 - id: flowey_lib_common__publish_test_results__3
6028 uses: actions/upload-artifact@v7
6029 with:
6030 name: aarch64-windows-vmm-tests-junit-xml
6031 path: ${{ env.floweyvar1 }}
6032 name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)'
6033 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6034 - name: report test results to overall pipeline status
6035 run: flowey.exe e 28 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
6036 shell: bash
6037 - name: 'validate cache entry: cargo-nextest'
6038 run: flowey.exe e 28 flowey_lib_common::cache 3
6039 shell: bash
6040 - name: 'validate cache entry: gh-cli'
6041 run: flowey.exe e 28 flowey_lib_common::cache 7
6042 shell: bash
6043 - name: 'validate cache entry: gh-release-download'
6044 run: flowey.exe e 28 flowey_lib_common::cache 11
6045 shell: bash
6046 job29:
6047 name: test flowey local backend
6048 runs-on: ubuntu-latest
6049 permissions:
6050 contents: read
6051 id-token: write
6052 needs:
6053 - job0
6054 if: github.event.pull_request.draft == false
6055 steps:
6056 - name: 🌼📦 Download artifacts
6057 uses: actions/download-artifact@v8
6058 with:
6059 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
6060 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
6061 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
6062 shell: bash
6063 name: 🌼📦 Add flowey to PATH
6064 - name: 🌼🛫 Initialize job
6065 run: |
6066 AgentTempDirNormal="${{ runner.temp }}"
6067 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6068 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6069
6070 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
6071
6072 echo '"debug"' | flowey v 29 'FLOWEY_LOG' update
6073 echo "${{ runner.temp }}/work" | flowey v 29 '_internal_WORKING_DIR' --is-raw-string update
6074
6075 cat <<'EOF' | flowey v 29 'verbose' update
6076 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6077 EOF
6078 shell: bash
6079 - name: check if openvmm needs to be cloned
6080 run: |-
6081 flowey e 29 flowey_lib_common::git_checkout 0
6082 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
6083 flowey v 29 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
6084 shell: bash
6085 - id: flowey_lib_common__git_checkout__1
6086 uses: actions/checkout@v6
6087 with:
6088 fetch-depth: '1'
6089 path: repo0
6090 persist-credentials: ${{ env.floweyvar1 }}
6091 name: checkout repo openvmm
6092 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6093 - name: report cloned repo directories
6094 run: |-
6095 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
6096 ${{ github.workspace }}
6097 EOF
6098 flowey e 29 flowey_lib_common::git_checkout 3
6099 flowey e 29 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6100 shell: bash
6101 - name: add default cargo home to path
6102 run: flowey e 29 flowey_lib_common::install_rust 0
6103 shell: bash
6104 - name: install Rust
6105 run: flowey e 29 flowey_lib_common::install_rust 1
6106 shell: bash
6107 - name: detect active toolchain
6108 run: |-
6109 flowey e 29 flowey_lib_common::install_rust 2
6110 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
6111 ${{ github.token }}
6112 EOF
6113 shell: bash
6114 - name: test cargo xflowey build-igvm x64 --install-missing-deps
6115 run: flowey e 29 flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm 1
6116 shell: bash
6117 job3:
6118 name: build artifacts (shared VMM tests) [linux]
6119 runs-on:
6120 - self-hosted
6121 - 1ES.Pool=openvmm-gh-amd-westus3
6122 - 1ES.ImageOverride=ubuntu2404-amd64
6123 - JobId=job3-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
6124 permissions:
6125 contents: read
6126 id-token: write
6127 needs:
6128 - job0
6129 if: github.event.pull_request.draft == false
6130 steps:
6131 - name: 🌼📦 Download artifacts
6132 uses: actions/download-artifact@v8
6133 with:
6134 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
6135 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
6136 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
6137 shell: bash
6138 name: 🌼📦 Add flowey to PATH
6139 - name: 🌼🛫 Initialize job
6140 run: |
6141 AgentTempDirNormal="${{ runner.temp }}"
6142 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6143 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6144
6145 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
6146
6147 echo '"debug"' | flowey v 3 'FLOWEY_LOG' update
6148 echo "${{ runner.temp }}/work" | flowey v 3 '_internal_WORKING_DIR' --is-raw-string update
6149
6150 cat <<'EOF' | flowey v 3 'verbose' update
6151 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6152 EOF
6153 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi"
6154 echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 3 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update
6155 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette"
6156 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update
6157 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm"
6158 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update
6159 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests"
6160 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update
6161 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks"
6162 echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 3 'artifact_publish_from_aarch64-tmks' --is-raw-string update
6163 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi"
6164 echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 3 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update
6165 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette"
6166 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 3 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update
6167 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm"
6168 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 3 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update
6169 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests"
6170 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 3 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update
6171 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks"
6172 echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 3 'artifact_publish_from_x64-tmks' --is-raw-string update
6173 shell: bash
6174 - name: add default cargo home to path
6175 run: flowey e 3 flowey_lib_common::install_rust 0
6176 shell: bash
6177 - name: install Rust
6178 run: flowey e 3 flowey_lib_common::install_rust 1
6179 shell: bash
6180 - name: detect active toolchain
6181 run: |-
6182 flowey e 3 flowey_lib_common::install_rust 2
6183 flowey e 3 flowey_lib_common::cfg_cargo_common_flags 0
6184 shell: bash
6185 - name: check if openvmm needs to be cloned
6186 run: |-
6187 flowey e 3 flowey_lib_common::git_checkout 0
6188 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
6189 flowey v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
6190 shell: bash
6191 - id: flowey_lib_common__git_checkout__1
6192 uses: actions/checkout@v6
6193 with:
6194 fetch-depth: '1'
6195 path: repo0
6196 persist-credentials: ${{ env.floweyvar1 }}
6197 name: checkout repo openvmm
6198 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6199 - name: report cloned repo directories
6200 run: |-
6201 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
6202 ${{ github.workspace }}
6203 EOF
6204 flowey e 3 flowey_lib_common::git_checkout 3
6205 flowey e 3 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6206 shell: bash
6207 - name: set '-Dwarnings' in .cargo/config.toml
6208 run: flowey e 3 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
6209 shell: bash
6210 - name: create gh-release-download cache dir
6211 run: flowey e 3 flowey_lib_common::download_gh_release 0
6212 shell: bash
6213 - name: Pre-processing cache vars
6214 run: |-
6215 flowey e 3 flowey_lib_common::cache 0
6216 flowey v 3 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
6217 flowey v 3 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
6218 shell: bash
6219 - id: flowey_lib_common__cache__1
6220 uses: actions/cache@v5
6221 with:
6222 key: ${{ env.floweyvar2 }}
6223 path: ${{ env.floweyvar3 }}
6224 name: 'Restore cache: gh-release-download'
6225 - name: download artifacts from github releases
6226 run: |-
6227 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
6228 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
6229 EOF
6230 flowey e 3 flowey_lib_common::cache 2
6231 flowey e 3 flowey_lib_common::download_gh_release 1
6232 shell: bash
6233 - name: checking if packages need to be installed
6234 run: flowey e 3 flowey_lib_common::install_dist_pkg 0
6235 shell: bash
6236 - name: installing packages
6237 run: flowey e 3 flowey_lib_common::install_dist_pkg 1
6238 shell: bash
6239 - name: unpack protoc
6240 run: |-
6241 flowey e 3 flowey_lib_common::resolve_protoc 0
6242 flowey e 3 flowey_lib_hvlite::cfg_openvmm_magicpath 0
6243 shell: bash
6244 - name: symlink protoc
6245 run: flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
6246 shell: bash
6247 - name: unpack openvmm-deps archive
6248 run: flowey e 3 flowey_lib_hvlite::resolve_openvmm_deps 0
6249 shell: bash
6250 - name: extract Aarch64 sysroot.tar.gz
6251 run: |-
6252 flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 1
6253 flowey e 3 flowey_lib_hvlite::init_cross_build 2
6254 shell: bash
6255 - name: cargo build tmk_vmm
6256 run: |-
6257 flowey e 3 flowey_lib_common::run_cargo_build 6
6258 flowey e 3 flowey_lib_hvlite::run_cargo_build 14
6259 shell: bash
6260 - name: split debug symbols
6261 run: |-
6262 flowey e 3 flowey_lib_hvlite::run_split_debug_info 2
6263 flowey e 3 flowey_lib_hvlite::run_cargo_build 15
6264 flowey e 3 flowey_lib_hvlite::build_tmk_vmm 0
6265 flowey e 3 flowey_core::pipeline::artifact::publish 6
6266 flowey e 3 flowey_lib_hvlite::init_cross_build 9
6267 shell: bash
6268 - name: cargo build guest_test_uefi
6269 run: |-
6270 flowey e 3 flowey_lib_common::run_cargo_build 1
6271 flowey e 3 flowey_lib_hvlite::run_cargo_build 1
6272 shell: bash
6273 - name: build guest_test_uefi.img
6274 run: |-
6275 flowey e 3 flowey_lib_hvlite::build_guest_test_uefi 0
6276 flowey e 3 flowey_core::pipeline::artifact::publish 7
6277 flowey e 3 flowey_lib_hvlite::init_cross_build 5
6278 flowey e 3 flowey_lib_hvlite::run_cargo_build 10
6279 flowey e 3 flowey_lib_hvlite::run_cargo_build 11
6280 shell: bash
6281 - name: cargo build simple_tmk
6282 run: |-
6283 flowey e 3 flowey_lib_common::run_cargo_build 4
6284 flowey e 3 flowey_lib_hvlite::run_cargo_build 12
6285 shell: bash
6286 - name: split debug symbols
6287 run: |-
6288 flowey e 3 flowey_lib_hvlite::run_split_debug_info 5
6289 flowey e 3 flowey_lib_hvlite::run_cargo_build 13
6290 flowey e 3 flowey_lib_hvlite::build_tmks 0
6291 flowey e 3 flowey_core::pipeline::artifact::publish 8
6292 flowey e 3 flowey_lib_hvlite::init_cross_build 6
6293 shell: bash
6294 - name: cargo build tpm_guest_tests
6295 run: |-
6296 flowey e 3 flowey_lib_common::run_cargo_build 9
6297 flowey e 3 flowey_lib_hvlite::run_cargo_build 20
6298 shell: bash
6299 - name: split debug symbols
6300 run: |-
6301 flowey e 3 flowey_lib_hvlite::run_split_debug_info 7
6302 flowey e 3 flowey_lib_hvlite::run_cargo_build 21
6303 flowey e 3 flowey_lib_hvlite::build_tpm_guest_tests 1
6304 flowey e 3 flowey_core::pipeline::artifact::publish 9
6305 shell: bash
6306 - name: extract X86_64 sysroot.tar.gz
6307 run: |-
6308 flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
6309 flowey e 3 flowey_lib_hvlite::init_cross_build 7
6310 shell: bash
6311 - name: cargo build pipette
6312 run: |-
6313 flowey e 3 flowey_lib_common::run_cargo_build 3
6314 flowey e 3 flowey_lib_hvlite::run_cargo_build 4
6315 shell: bash
6316 - name: split debug symbols
6317 run: |-
6318 flowey e 3 flowey_lib_hvlite::run_split_debug_info 4
6319 flowey e 3 flowey_lib_hvlite::run_cargo_build 5
6320 flowey e 3 flowey_lib_hvlite::build_pipette 1
6321 flowey e 3 flowey_core::pipeline::artifact::publish 0
6322 flowey e 3 flowey_lib_hvlite::init_cross_build 8
6323 shell: bash
6324 - name: cargo build tmk_vmm
6325 run: |-
6326 flowey e 3 flowey_lib_common::run_cargo_build 7
6327 flowey e 3 flowey_lib_hvlite::run_cargo_build 16
6328 shell: bash
6329 - name: split debug symbols
6330 run: |-
6331 flowey e 3 flowey_lib_hvlite::run_split_debug_info 6
6332 flowey e 3 flowey_lib_hvlite::run_cargo_build 17
6333 flowey e 3 flowey_lib_hvlite::build_tmk_vmm 1
6334 flowey e 3 flowey_core::pipeline::artifact::publish 1
6335 flowey e 3 flowey_lib_hvlite::init_cross_build 4
6336 shell: bash
6337 - name: cargo build guest_test_uefi
6338 run: |-
6339 flowey e 3 flowey_lib_common::run_cargo_build 0
6340 flowey e 3 flowey_lib_hvlite::run_cargo_build 0
6341 shell: bash
6342 - name: build guest_test_uefi.img
6343 run: |-
6344 flowey e 3 flowey_lib_hvlite::build_guest_test_uefi 1
6345 flowey e 3 flowey_core::pipeline::artifact::publish 2
6346 flowey e 3 flowey_lib_hvlite::init_cross_build 0
6347 flowey e 3 flowey_lib_hvlite::run_cargo_build 6
6348 flowey e 3 flowey_lib_hvlite::run_cargo_build 7
6349 shell: bash
6350 - name: cargo build simple_tmk
6351 run: |-
6352 flowey e 3 flowey_lib_common::run_cargo_build 5
6353 flowey e 3 flowey_lib_hvlite::run_cargo_build 8
6354 shell: bash
6355 - name: split debug symbols
6356 run: |-
6357 flowey e 3 flowey_lib_hvlite::run_split_debug_info 1
6358 flowey e 3 flowey_lib_hvlite::run_cargo_build 9
6359 flowey e 3 flowey_lib_hvlite::build_tmks 1
6360 flowey e 3 flowey_core::pipeline::artifact::publish 3
6361 flowey e 3 flowey_lib_hvlite::init_cross_build 1
6362 shell: bash
6363 - name: cargo build tpm_guest_tests
6364 run: |-
6365 flowey e 3 flowey_lib_common::run_cargo_build 8
6366 flowey e 3 flowey_lib_hvlite::run_cargo_build 18
6367 shell: bash
6368 - name: split debug symbols
6369 run: |-
6370 flowey e 3 flowey_lib_hvlite::run_split_debug_info 3
6371 flowey e 3 flowey_lib_hvlite::run_cargo_build 19
6372 flowey e 3 flowey_lib_hvlite::build_tpm_guest_tests 0
6373 flowey e 3 flowey_core::pipeline::artifact::publish 4
6374 flowey e 3 flowey_lib_hvlite::init_cross_build 3
6375 shell: bash
6376 - name: cargo build pipette
6377 run: |-
6378 flowey e 3 flowey_lib_common::run_cargo_build 2
6379 flowey e 3 flowey_lib_hvlite::run_cargo_build 2
6380 shell: bash
6381 - name: split debug symbols
6382 run: |-
6383 flowey e 3 flowey_lib_hvlite::run_split_debug_info 0
6384 flowey e 3 flowey_lib_hvlite::run_cargo_build 3
6385 flowey e 3 flowey_lib_hvlite::build_pipette 0
6386 flowey e 3 flowey_core::pipeline::artifact::publish 5
6387 shell: bash
6388 - name: 'validate cache entry: gh-release-download'
6389 run: flowey e 3 flowey_lib_common::cache 3
6390 shell: bash
6391 - name: 🌼📦 Publish aarch64-guest_test_uefi
6392 uses: actions/upload-artifact@v7
6393 with:
6394 name: aarch64-guest_test_uefi
6395 path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/
6396 include-hidden-files: true
6397 - name: 🌼📦 Publish aarch64-linux-musl-pipette
6398 uses: actions/upload-artifact@v7
6399 with:
6400 name: aarch64-linux-musl-pipette
6401 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-pipette/
6402 include-hidden-files: true
6403 - name: 🌼📦 Publish aarch64-linux-musl-tmk_vmm
6404 uses: actions/upload-artifact@v7
6405 with:
6406 name: aarch64-linux-musl-tmk_vmm
6407 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/
6408 include-hidden-files: true
6409 - name: 🌼📦 Publish aarch64-linux-tpm_guest_tests
6410 uses: actions/upload-artifact@v7
6411 with:
6412 name: aarch64-linux-tpm_guest_tests
6413 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-tpm_guest_tests/
6414 include-hidden-files: true
6415 - name: 🌼📦 Publish aarch64-tmks
6416 uses: actions/upload-artifact@v7
6417 with:
6418 name: aarch64-tmks
6419 path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/
6420 include-hidden-files: true
6421 - name: 🌼📦 Publish x64-guest_test_uefi
6422 uses: actions/upload-artifact@v7
6423 with:
6424 name: x64-guest_test_uefi
6425 path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/
6426 include-hidden-files: true
6427 - name: 🌼📦 Publish x64-linux-musl-pipette
6428 uses: actions/upload-artifact@v7
6429 with:
6430 name: x64-linux-musl-pipette
6431 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-pipette/
6432 include-hidden-files: true
6433 - name: 🌼📦 Publish x64-linux-musl-tmk_vmm
6434 uses: actions/upload-artifact@v7
6435 with:
6436 name: x64-linux-musl-tmk_vmm
6437 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/
6438 include-hidden-files: true
6439 - name: 🌼📦 Publish x64-linux-tpm_guest_tests
6440 uses: actions/upload-artifact@v7
6441 with:
6442 name: x64-linux-tpm_guest_tests
6443 path: ${{ runner.temp }}/publish_artifacts/x64-linux-tpm_guest_tests/
6444 include-hidden-files: true
6445 - name: 🌼📦 Publish x64-tmks
6446 uses: actions/upload-artifact@v7
6447 with:
6448 name: x64-tmks
6449 path: ${{ runner.temp }}/publish_artifacts/x64-tmks/
6450 include-hidden-files: true
6451 job30:
6452 name: openvmm checkin gates
6453 runs-on: ubuntu-latest
6454 permissions:
6455 contents: read
6456 id-token: write
6457 needs:
6458 - job0
6459 - job1
6460 - job10
6461 - job11
6462 - job12
6463 - job13
6464 - job14
6465 - job15
6466 - job16
6467 - job17
6468 - job18
6469 - job19
6470 - job2
6471 - job20
6472 - job21
6473 - job22
6474 - job23
6475 - job24
6476 - job25
6477 - job26
6478 - job27
6479 - job28
6480 - job29
6481 - job3
6482 - job4
6483 - job5
6484 - job6
6485 - job7
6486 - job8
6487 - job9
6488 if: always() && github.event.pull_request.draft == false
6489 env:
6490 ANY_JOBS_FAILED: ${{ contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }}
6491 steps:
6492 - name: 🌼📦 Download artifacts
6493 uses: actions/download-artifact@v8
6494 with:
6495 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
6496 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
6497 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
6498 shell: bash
6499 name: 🌼📦 Add flowey to PATH
6500 - name: 🌼🛫 Initialize job
6501 run: |
6502 AgentTempDirNormal="${{ runner.temp }}"
6503 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6504 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6505
6506 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
6507
6508 echo '"debug"' | flowey v 30 'FLOWEY_LOG' update
6509 echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update
6510
6511 cat <<'EOF' | flowey v 30 'verbose' update
6512 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6513 EOF
6514 shell: bash
6515 - name: Check if any jobs failed
6516 run: flowey e 30 flowey_lib_hvlite::_jobs::all_good_job 0
6517 shell: bash
6518 job4:
6519 name: build artifacts (not for VMM tests) [aarch64-windows]
6520 runs-on:
6521 - self-hosted
6522 - 1ES.Pool=openvmm-gh-amd-westus3
6523 - 1ES.ImageOverride=win-amd64
6524 - JobId=job4-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
6525 permissions:
6526 contents: read
6527 id-token: write
6528 needs:
6529 - job0
6530 if: github.event.pull_request.draft == false
6531 steps:
6532 - run: |
6533 set -x
6534 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
6535 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
6536 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
6537 . "$HOME/.cargo/env"
6538 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
6539 rustup show
6540 if: runner.os == 'Linux'
6541 name: rustup (Linux)
6542 shell: bash
6543 - run: |
6544 set -x
6545 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
6546 ./rustup-init.exe -y --default-toolchain=1.95.0
6547 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
6548 if: runner.os == 'Windows' && runner.arch == 'X64'
6549 name: rustup (Windows X64)
6550 shell: bash
6551 - run: |
6552 set -x
6553 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
6554 ./rustup-init.exe -y --default-toolchain=1.95.0
6555 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
6556 if: runner.os == 'Windows' && runner.arch == 'ARM64'
6557 name: rustup (Windows ARM64)
6558 shell: bash
6559 - uses: actions/checkout@v6
6560 with:
6561 path: flowey_bootstrap
6562 - name: Build flowey
6563 run: |
6564 set -x
6565 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
6566 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6567 mkdir -p "$OutDirNormal"
6568 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
6569 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
6570 working-directory: flowey_bootstrap
6571 shell: bash
6572 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
6573 shell: bash
6574 name: 🌼📦 Add flowey to PATH
6575 - name: 🌼🔎 Self-check YAML
6576 run: |-
6577 ESCAPED_AGENT_TEMPDIR=$(
6578 cat <<'EOF' | sed 's/\\/\\\\/g'
6579 ${{ runner.temp }}
6580 EOF
6581 )
6582 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
6583 shell: bash
6584 - name: 🌼🛫 Initialize job
6585 run: |
6586 AgentTempDirNormal="${{ runner.temp }}"
6587 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6588 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6589
6590 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
6591
6592 echo '"debug"' | flowey.exe v 4 'FLOWEY_LOG' update
6593 echo "${{ runner.temp }}/work" | flowey.exe v 4 '_internal_WORKING_DIR' --is-raw-string update
6594
6595 cat <<'EOF' | flowey.exe v 4 'verbose' update
6596 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6597 EOF
6598 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv"
6599 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update
6600 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen"
6601 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update
6602 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev"
6603 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update
6604 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib"
6605 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update
6606 shell: bash
6607 - name: add default cargo home to path
6608 run: flowey.exe e 4 flowey_lib_common::install_rust 0
6609 shell: bash
6610 - name: install Rust
6611 run: flowey.exe e 4 flowey_lib_common::install_rust 1
6612 shell: bash
6613 - name: detect active toolchain
6614 run: |-
6615 flowey.exe e 4 flowey_lib_common::install_rust 2
6616 flowey.exe e 4 flowey_lib_common::cfg_cargo_common_flags 0
6617 shell: bash
6618 - name: check if openvmm needs to be cloned
6619 run: |-
6620 flowey.exe e 4 flowey_lib_common::git_checkout 0
6621 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
6622 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
6623 shell: bash
6624 - id: flowey_lib_common__git_checkout__1
6625 uses: actions/checkout@v6
6626 with:
6627 fetch-depth: '1'
6628 path: repo0
6629 persist-credentials: ${{ env.floweyvar1 }}
6630 name: checkout repo openvmm
6631 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6632 - name: report cloned repo directories
6633 run: |-
6634 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
6635 ${{ github.workspace }}
6636 EOF
6637 flowey.exe e 4 flowey_lib_common::git_checkout 3
6638 flowey.exe e 4 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6639 shell: bash
6640 - name: set '-Dwarnings' in .cargo/config.toml
6641 run: flowey.exe e 4 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
6642 shell: bash
6643 - name: create gh-release-download cache dir
6644 run: flowey.exe e 4 flowey_lib_common::download_gh_release 0
6645 shell: bash
6646 - name: Pre-processing cache vars
6647 run: |-
6648 flowey.exe e 4 flowey_lib_common::cache 0
6649 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
6650 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
6651 shell: bash
6652 - id: flowey_lib_common__cache__1
6653 uses: actions/cache@v5
6654 with:
6655 key: ${{ env.floweyvar2 }}
6656 path: ${{ env.floweyvar3 }}
6657 name: 'Restore cache: gh-release-download'
6658 - name: download artifacts from github releases
6659 run: |-
6660 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
6661 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
6662 EOF
6663 flowey.exe e 4 flowey_lib_common::cache 2
6664 flowey.exe e 4 flowey_lib_common::download_gh_release 1
6665 shell: bash
6666 - name: unpack protoc
6667 run: |-
6668 flowey.exe e 4 flowey_lib_common::resolve_protoc 0
6669 flowey.exe e 4 flowey_lib_hvlite::cfg_openvmm_magicpath 0
6670 shell: bash
6671 - name: symlink protoc
6672 run: |-
6673 flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
6674 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1
6675 shell: bash
6676 - name: cargo build hypestv
6677 run: |-
6678 flowey.exe e 4 flowey_lib_common::run_cargo_build 0
6679 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 0
6680 flowey.exe e 4 flowey_lib_hvlite::build_hypestv 0
6681 flowey.exe e 4 flowey_core::pipeline::artifact::publish 0
6682 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 0
6683 shell: bash
6684 - name: cargo build vmgs_lib
6685 run: |-
6686 flowey.exe e 4 flowey_lib_common::run_cargo_build 3
6687 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 3
6688 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0
6689 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1
6690 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1
6691 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2
6692 shell: bash
6693 - name: cargo build igvmfilegen
6694 run: |-
6695 flowey.exe e 4 flowey_lib_common::run_cargo_build 1
6696 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1
6697 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0
6698 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2
6699 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3
6700 shell: bash
6701 - name: cargo build ohcldiag-dev
6702 run: |-
6703 flowey.exe e 4 flowey_lib_common::run_cargo_build 2
6704 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2
6705 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0
6706 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3
6707 shell: bash
6708 - name: 'validate cache entry: gh-release-download'
6709 run: flowey.exe e 4 flowey_lib_common::cache 3
6710 shell: bash
6711 - name: 🌼📦 Publish aarch64-windows-hypestv
6712 uses: actions/upload-artifact@v7
6713 with:
6714 name: aarch64-windows-hypestv
6715 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/
6716 include-hidden-files: true
6717 - name: 🌼📦 Publish aarch64-windows-igvmfilegen
6718 uses: actions/upload-artifact@v7
6719 with:
6720 name: aarch64-windows-igvmfilegen
6721 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/
6722 include-hidden-files: true
6723 - name: 🌼📦 Publish aarch64-windows-ohcldiag-dev
6724 uses: actions/upload-artifact@v7
6725 with:
6726 name: aarch64-windows-ohcldiag-dev
6727 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/
6728 include-hidden-files: true
6729 - name: 🌼📦 Publish aarch64-windows-vmgs_lib
6730 uses: actions/upload-artifact@v7
6731 with:
6732 name: aarch64-windows-vmgs_lib
6733 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/
6734 include-hidden-files: true
6735 job5:
6736 name: build artifacts (for VMM tests) [aarch64-windows]
6737 runs-on:
6738 - self-hosted
6739 - 1ES.Pool=openvmm-gh-amd-westus3
6740 - 1ES.ImageOverride=win-amd64
6741 - JobId=job5-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
6742 permissions:
6743 contents: read
6744 id-token: write
6745 needs:
6746 - job0
6747 if: github.event.pull_request.draft == false
6748 steps:
6749 - run: |
6750 set -x
6751 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
6752 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
6753 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
6754 . "$HOME/.cargo/env"
6755 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
6756 rustup show
6757 if: runner.os == 'Linux'
6758 name: rustup (Linux)
6759 shell: bash
6760 - run: |
6761 set -x
6762 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
6763 ./rustup-init.exe -y --default-toolchain=1.95.0
6764 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
6765 if: runner.os == 'Windows' && runner.arch == 'X64'
6766 name: rustup (Windows X64)
6767 shell: bash
6768 - run: |
6769 set -x
6770 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
6771 ./rustup-init.exe -y --default-toolchain=1.95.0
6772 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
6773 if: runner.os == 'Windows' && runner.arch == 'ARM64'
6774 name: rustup (Windows ARM64)
6775 shell: bash
6776 - uses: actions/checkout@v6
6777 with:
6778 path: flowey_bootstrap
6779 - name: Build flowey
6780 run: |
6781 set -x
6782 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
6783 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6784 mkdir -p "$OutDirNormal"
6785 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
6786 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
6787 working-directory: flowey_bootstrap
6788 shell: bash
6789 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
6790 shell: bash
6791 name: 🌼📦 Add flowey to PATH
6792 - name: 🌼🔎 Self-check YAML
6793 run: |-
6794 ESCAPED_AGENT_TEMPDIR=$(
6795 cat <<'EOF' | sed 's/\\/\\\\/g'
6796 ${{ runner.temp }}
6797 EOF
6798 )
6799 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
6800 shell: bash
6801 - name: 🌼🛫 Initialize job
6802 run: |
6803 AgentTempDirNormal="${{ runner.temp }}"
6804 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6805 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6806
6807 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
6808
6809 echo '"debug"' | flowey.exe v 5 'FLOWEY_LOG' update
6810 echo "${{ runner.temp }}/work" | flowey.exe v 5 '_internal_WORKING_DIR' --is-raw-string update
6811
6812 cat <<'EOF' | flowey.exe v 5 'verbose' update
6813 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6814 EOF
6815 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm"
6816 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update
6817 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-prep_steps"
6818 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-prep_steps" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-prep_steps' --is-raw-string update
6819 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server"
6820 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
6821 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tmk_vmm"
6822 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-tmk_vmm' --is-raw-string update
6823 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tpm_guest_tests"
6824 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
6825 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgstool"
6826 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 5 'artifact_publish_from_aarch64-windows-vmgstool' --is-raw-string update
6827 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-archive"
6828 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
6829 shell: bash
6830 - name: add default cargo home to path
6831 run: flowey.exe e 5 flowey_lib_common::install_rust 0
6832 shell: bash
6833 - name: install Rust
6834 run: flowey.exe e 5 flowey_lib_common::install_rust 1
6835 shell: bash
6836 - name: detect active toolchain
6837 run: |-
6838 flowey.exe e 5 flowey_lib_common::install_rust 2
6839 flowey.exe e 5 flowey_lib_common::cfg_cargo_common_flags 0
6840 shell: bash
6841 - name: check if openvmm needs to be cloned
6842 run: |-
6843 flowey.exe e 5 flowey_lib_common::git_checkout 0
6844 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
6845 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
6846 shell: bash
6847 - id: flowey_lib_common__git_checkout__1
6848 uses: actions/checkout@v6
6849 with:
6850 fetch-depth: '1'
6851 path: repo0
6852 persist-credentials: ${{ env.floweyvar1 }}
6853 name: checkout repo openvmm
6854 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6855 - name: report cloned repo directories
6856 run: |-
6857 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
6858 ${{ github.workspace }}
6859 EOF
6860 flowey.exe e 5 flowey_lib_common::git_checkout 3
6861 flowey.exe e 5 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6862 shell: bash
6863 - name: set '-Dwarnings' in .cargo/config.toml
6864 run: flowey.exe e 5 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
6865 shell: bash
6866 - name: create gh-release-download cache dir
6867 run: flowey.exe e 5 flowey_lib_common::download_gh_release 0
6868 shell: bash
6869 - name: Pre-processing cache vars
6870 run: |-
6871 flowey.exe e 5 flowey_lib_common::cache 4
6872 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
6873 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
6874 shell: bash
6875 - id: flowey_lib_common__cache__5
6876 uses: actions/cache@v5
6877 with:
6878 key: ${{ env.floweyvar4 }}
6879 path: ${{ env.floweyvar5 }}
6880 name: 'Restore cache: gh-release-download'
6881 - name: download artifacts from github releases
6882 run: |-
6883 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
6884 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
6885 EOF
6886 flowey.exe e 5 flowey_lib_common::cache 6
6887 flowey.exe e 5 flowey_lib_common::download_gh_release 1
6888 shell: bash
6889 - name: unpack protoc
6890 run: |-
6891 flowey.exe e 5 flowey_lib_common::resolve_protoc 0
6892 flowey.exe e 5 flowey_lib_hvlite::cfg_openvmm_magicpath 0
6893 shell: bash
6894 - name: symlink protoc
6895 run: |-
6896 flowey.exe e 5 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
6897 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 4
6898 shell: bash
6899 - name: cargo build openvmm
6900 run: |-
6901 flowey.exe e 5 flowey_lib_common::run_cargo_build 0
6902 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 0
6903 flowey.exe e 5 flowey_lib_hvlite::build_openvmm 0
6904 flowey.exe e 5 flowey_core::pipeline::artifact::publish 0
6905 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 1
6906 shell: bash
6907 - name: cargo build tmk_vmm
6908 run: |-
6909 flowey.exe e 5 flowey_lib_common::run_cargo_build 3
6910 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 5
6911 flowey.exe e 5 flowey_lib_hvlite::build_tmk_vmm 0
6912 flowey.exe e 5 flowey_core::pipeline::artifact::publish 1
6913 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 5
6914 shell: bash
6915 - name: cargo build prep_steps
6916 run: |-
6917 flowey.exe e 5 flowey_lib_common::run_cargo_build 1
6918 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 1
6919 flowey.exe e 5 flowey_lib_hvlite::build_prep_steps 0
6920 flowey.exe e 5 flowey_core::pipeline::artifact::publish 2
6921 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 3
6922 shell: bash
6923 - name: cargo build vmgstool
6924 run: |-
6925 flowey.exe e 5 flowey_lib_common::run_cargo_build 5
6926 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 9
6927 flowey.exe e 5 flowey_lib_hvlite::build_vmgstool 0
6928 flowey.exe e 5 flowey_core::pipeline::artifact::publish 3
6929 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 2
6930 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 6
6931 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 7
6932 shell: bash
6933 - name: cargo build tpm_guest_tests
6934 run: |-
6935 flowey.exe e 5 flowey_lib_common::run_cargo_build 4
6936 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 8
6937 flowey.exe e 5 flowey_lib_hvlite::build_tpm_guest_tests 0
6938 flowey.exe e 5 flowey_core::pipeline::artifact::publish 4
6939 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 6
6940 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 2
6941 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 3
6942 shell: bash
6943 - name: cargo build test_igvm_agent_rpc_server
6944 run: |-
6945 flowey.exe e 5 flowey_lib_common::run_cargo_build 2
6946 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 4
6947 flowey.exe e 5 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0
6948 flowey.exe e 5 flowey_core::pipeline::artifact::publish 5
6949 shell: bash
6950 - name: create cargo-nextest cache dir
6951 run: |-
6952 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0
6953 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1
6954 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2
6955 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3
6956 shell: bash
6957 - name: Pre-processing cache vars
6958 run: |-
6959 flowey.exe e 5 flowey_lib_common::cache 0
6960 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
6961 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
6962 shell: bash
6963 - id: flowey_lib_common__cache__1
6964 uses: actions/cache@v5
6965 with:
6966 key: ${{ env.floweyvar2 }}
6967 path: ${{ env.floweyvar3 }}
6968 name: 'Restore cache: cargo-nextest'
6969 - name: downloading cargo-nextest
6970 run: |-
6971 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
6972 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
6973 EOF
6974 flowey.exe e 5 flowey_lib_common::cache 2
6975 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4
6976 shell: bash
6977 - name: report $CARGO_HOME
6978 run: flowey.exe e 5 flowey_lib_common::install_rust 3
6979 shell: bash
6980 - name: installing cargo-nextest
6981 run: |-
6982 flowey.exe e 5 flowey_lib_common::install_cargo_nextest 0
6983 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 0
6984 shell: bash
6985 - name: build + archive 'vmm_tests' nextests
6986 run: |-
6987 flowey.exe e 5 flowey_lib_common::run_cargo_nextest_archive 0
6988 flowey.exe e 5 flowey_lib_hvlite::build_nextest_vmm_tests 0
6989 flowey.exe e 5 flowey_core::pipeline::artifact::publish 6
6990 shell: bash
6991 - name: 'validate cache entry: cargo-nextest'
6992 run: flowey.exe e 5 flowey_lib_common::cache 3
6993 shell: bash
6994 - name: 'validate cache entry: gh-release-download'
6995 run: flowey.exe e 5 flowey_lib_common::cache 7
6996 shell: bash
6997 - name: 🌼📦 Publish aarch64-windows-openvmm
6998 uses: actions/upload-artifact@v7
6999 with:
7000 name: aarch64-windows-openvmm
7001 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/
7002 include-hidden-files: true
7003 - name: 🌼📦 Publish aarch64-windows-prep_steps
7004 uses: actions/upload-artifact@v7
7005 with:
7006 name: aarch64-windows-prep_steps
7007 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/
7008 include-hidden-files: true
7009 - name: 🌼📦 Publish aarch64-windows-test_igvm_agent_rpc_server
7010 uses: actions/upload-artifact@v7
7011 with:
7012 name: aarch64-windows-test_igvm_agent_rpc_server
7013 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server/
7014 include-hidden-files: true
7015 - name: 🌼📦 Publish aarch64-windows-tmk_vmm
7016 uses: actions/upload-artifact@v7
7017 with:
7018 name: aarch64-windows-tmk_vmm
7019 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/
7020 include-hidden-files: true
7021 - name: 🌼📦 Publish aarch64-windows-tpm_guest_tests
7022 uses: actions/upload-artifact@v7
7023 with:
7024 name: aarch64-windows-tpm_guest_tests
7025 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tpm_guest_tests/
7026 include-hidden-files: true
7027 - name: 🌼📦 Publish aarch64-windows-vmgstool
7028 uses: actions/upload-artifact@v7
7029 with:
7030 name: aarch64-windows-vmgstool
7031 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/
7032 include-hidden-files: true
7033 - name: 🌼📦 Publish aarch64-windows-vmm-tests-archive
7034 uses: actions/upload-artifact@v7
7035 with:
7036 name: aarch64-windows-vmm-tests-archive
7037 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/
7038 include-hidden-files: true
7039 job6:
7040 name: build artifacts (not for VMM tests) [x64-windows]
7041 runs-on:
7042 - self-hosted
7043 - 1ES.Pool=openvmm-gh-amd-westus3
7044 - 1ES.ImageOverride=win-amd64
7045 - JobId=job6-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
7046 permissions:
7047 contents: read
7048 id-token: write
7049 needs:
7050 - job0
7051 if: github.event.pull_request.draft == false
7052 steps:
7053 - run: |
7054 set -x
7055 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
7056 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
7057 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
7058 . "$HOME/.cargo/env"
7059 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
7060 rustup show
7061 if: runner.os == 'Linux'
7062 name: rustup (Linux)
7063 shell: bash
7064 - run: |
7065 set -x
7066 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
7067 ./rustup-init.exe -y --default-toolchain=1.95.0
7068 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
7069 if: runner.os == 'Windows' && runner.arch == 'X64'
7070 name: rustup (Windows X64)
7071 shell: bash
7072 - run: |
7073 set -x
7074 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
7075 ./rustup-init.exe -y --default-toolchain=1.95.0
7076 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
7077 if: runner.os == 'Windows' && runner.arch == 'ARM64'
7078 name: rustup (Windows ARM64)
7079 shell: bash
7080 - uses: actions/checkout@v6
7081 with:
7082 path: flowey_bootstrap
7083 - name: Build flowey
7084 run: |
7085 set -x
7086 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
7087 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7088 mkdir -p "$OutDirNormal"
7089 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
7090 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
7091 working-directory: flowey_bootstrap
7092 shell: bash
7093 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
7094 shell: bash
7095 name: 🌼📦 Add flowey to PATH
7096 - name: 🌼🔎 Self-check YAML
7097 run: |-
7098 ESCAPED_AGENT_TEMPDIR=$(
7099 cat <<'EOF' | sed 's/\\/\\\\/g'
7100 ${{ runner.temp }}
7101 EOF
7102 )
7103 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
7104 shell: bash
7105 - name: 🌼🛫 Initialize job
7106 run: |
7107 AgentTempDirNormal="${{ runner.temp }}"
7108 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7109 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
7110
7111 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
7112
7113 echo '"debug"' | flowey.exe v 6 'FLOWEY_LOG' update
7114 echo "${{ runner.temp }}/work" | flowey.exe v 6 '_internal_WORKING_DIR' --is-raw-string update
7115
7116 cat <<'EOF' | flowey.exe v 6 'verbose' update
7117 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
7118 EOF
7119 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-hypestv"
7120 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-hypestv" | flowey.exe v 6 'artifact_publish_from_x64-windows-hypestv' --is-raw-string update
7121 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-igvmfilegen"
7122 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-igvmfilegen" | flowey.exe v 6 'artifact_publish_from_x64-windows-igvmfilegen' --is-raw-string update
7123 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-ohcldiag-dev"
7124 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update
7125 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib"
7126 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update
7127 shell: bash
7128 - name: add default cargo home to path
7129 run: flowey.exe e 6 flowey_lib_common::install_rust 0
7130 shell: bash
7131 - name: install Rust
7132 run: flowey.exe e 6 flowey_lib_common::install_rust 1
7133 shell: bash
7134 - name: detect active toolchain
7135 run: |-
7136 flowey.exe e 6 flowey_lib_common::install_rust 2
7137 flowey.exe e 6 flowey_lib_common::cfg_cargo_common_flags 0
7138 shell: bash
7139 - name: check if openvmm needs to be cloned
7140 run: |-
7141 flowey.exe e 6 flowey_lib_common::git_checkout 0
7142 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
7143 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
7144 shell: bash
7145 - id: flowey_lib_common__git_checkout__1
7146 uses: actions/checkout@v6
7147 with:
7148 fetch-depth: '1'
7149 path: repo0
7150 persist-credentials: ${{ env.floweyvar1 }}
7151 name: checkout repo openvmm
7152 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
7153 - name: report cloned repo directories
7154 run: |-
7155 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
7156 ${{ github.workspace }}
7157 EOF
7158 flowey.exe e 6 flowey_lib_common::git_checkout 3
7159 flowey.exe e 6 flowey_lib_hvlite::git_checkout_openvmm_repo 0
7160 shell: bash
7161 - name: set '-Dwarnings' in .cargo/config.toml
7162 run: flowey.exe e 6 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
7163 shell: bash
7164 - name: create gh-release-download cache dir
7165 run: flowey.exe e 6 flowey_lib_common::download_gh_release 0
7166 shell: bash
7167 - name: Pre-processing cache vars
7168 run: |-
7169 flowey.exe e 6 flowey_lib_common::cache 0
7170 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
7171 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
7172 shell: bash
7173 - id: flowey_lib_common__cache__1
7174 uses: actions/cache@v5
7175 with:
7176 key: ${{ env.floweyvar2 }}
7177 path: ${{ env.floweyvar3 }}
7178 name: 'Restore cache: gh-release-download'
7179 - name: download artifacts from github releases
7180 run: |-
7181 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
7182 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
7183 EOF
7184 flowey.exe e 6 flowey_lib_common::cache 2
7185 flowey.exe e 6 flowey_lib_common::download_gh_release 1
7186 shell: bash
7187 - name: unpack protoc
7188 run: |-
7189 flowey.exe e 6 flowey_lib_common::resolve_protoc 0
7190 flowey.exe e 6 flowey_lib_hvlite::cfg_openvmm_magicpath 0
7191 shell: bash
7192 - name: symlink protoc
7193 run: |-
7194 flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
7195 flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1
7196 shell: bash
7197 - name: cargo build hypestv
7198 run: |-
7199 flowey.exe e 6 flowey_lib_common::run_cargo_build 0
7200 flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 0
7201 flowey.exe e 6 flowey_lib_hvlite::build_hypestv 0
7202 flowey.exe e 6 flowey_core::pipeline::artifact::publish 0
7203 flowey.exe e 6 flowey_lib_hvlite::init_cross_build 0
7204 shell: bash
7205 - name: cargo build vmgs_lib
7206 run: |-
7207 flowey.exe e 6 flowey_lib_common::run_cargo_build 3
7208 flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 3
7209 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 0
7210 shell: bash
7211 - name: test vmgs_lib
7212 run: |-
7213 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1
7214 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2
7215 flowey.exe e 6 flowey_core::pipeline::artifact::publish 1
7216 flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2
7217 shell: bash
7218 - name: cargo build igvmfilegen
7219 run: |-
7220 flowey.exe e 6 flowey_lib_common::run_cargo_build 1
7221 flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1
7222 flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0
7223 flowey.exe e 6 flowey_core::pipeline::artifact::publish 2
7224 flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3
7225 shell: bash
7226 - name: cargo build ohcldiag-dev
7227 run: |-
7228 flowey.exe e 6 flowey_lib_common::run_cargo_build 2
7229 flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2
7230 flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0
7231 flowey.exe e 6 flowey_core::pipeline::artifact::publish 3
7232 shell: bash
7233 - name: 'validate cache entry: gh-release-download'
7234 run: flowey.exe e 6 flowey_lib_common::cache 3
7235 shell: bash
7236 - name: 🌼📦 Publish x64-windows-hypestv
7237 uses: actions/upload-artifact@v7
7238 with:
7239 name: x64-windows-hypestv
7240 path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/
7241 include-hidden-files: true
7242 - name: 🌼📦 Publish x64-windows-igvmfilegen
7243 uses: actions/upload-artifact@v7
7244 with:
7245 name: x64-windows-igvmfilegen
7246 path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/
7247 include-hidden-files: true
7248 - name: 🌼📦 Publish x64-windows-ohcldiag-dev
7249 uses: actions/upload-artifact@v7
7250 with:
7251 name: x64-windows-ohcldiag-dev
7252 path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/
7253 include-hidden-files: true
7254 - name: 🌼📦 Publish x64-windows-vmgs_lib
7255 uses: actions/upload-artifact@v7
7256 with:
7257 name: x64-windows-vmgs_lib
7258 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/
7259 include-hidden-files: true
7260 job7:
7261 name: build artifacts (for VMM tests) [x64-windows]
7262 runs-on:
7263 - self-hosted
7264 - 1ES.Pool=openvmm-gh-amd-westus3
7265 - 1ES.ImageOverride=win-amd64
7266 - JobId=job7-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
7267 permissions:
7268 contents: read
7269 id-token: write
7270 needs:
7271 - job0
7272 if: github.event.pull_request.draft == false
7273 steps:
7274 - run: |
7275 set -x
7276 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
7277 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
7278 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
7279 . "$HOME/.cargo/env"
7280 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
7281 rustup show
7282 if: runner.os == 'Linux'
7283 name: rustup (Linux)
7284 shell: bash
7285 - run: |
7286 set -x
7287 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
7288 ./rustup-init.exe -y --default-toolchain=1.95.0
7289 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
7290 if: runner.os == 'Windows' && runner.arch == 'X64'
7291 name: rustup (Windows X64)
7292 shell: bash
7293 - run: |
7294 set -x
7295 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
7296 ./rustup-init.exe -y --default-toolchain=1.95.0
7297 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
7298 if: runner.os == 'Windows' && runner.arch == 'ARM64'
7299 name: rustup (Windows ARM64)
7300 shell: bash
7301 - uses: actions/checkout@v6
7302 with:
7303 path: flowey_bootstrap
7304 - name: Build flowey
7305 run: |
7306 set -x
7307 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
7308 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7309 mkdir -p "$OutDirNormal"
7310 mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml"
7311 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
7312 working-directory: flowey_bootstrap
7313 shell: bash
7314 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
7315 shell: bash
7316 name: 🌼📦 Add flowey to PATH
7317 - name: 🌼🔎 Self-check YAML
7318 run: |-
7319 ESCAPED_AGENT_TEMPDIR=$(
7320 cat <<'EOF' | sed 's/\\/\\\\/g'
7321 ${{ runner.temp }}
7322 EOF
7323 )
7324 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr
7325 shell: bash
7326 - name: 🌼🛫 Initialize job
7327 run: |
7328 AgentTempDirNormal="${{ runner.temp }}"
7329 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7330 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
7331
7332 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
7333
7334 echo '"debug"' | flowey.exe v 7 'FLOWEY_LOG' update
7335 echo "${{ runner.temp }}/work" | flowey.exe v 7 '_internal_WORKING_DIR' --is-raw-string update
7336
7337 cat <<'EOF' | flowey.exe v 7 'verbose' update
7338 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
7339 EOF
7340 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-openvmm"
7341 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-openvmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update
7342 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-prep_steps"
7343 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-prep_steps" | flowey.exe v 7 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update
7344 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-test_igvm_agent_rpc_server"
7345 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
7346 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tmk_vmm"
7347 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 7 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update
7348 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tpm_guest_tests"
7349 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
7350 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool"
7351 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool" | flowey.exe v 7 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update
7352 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-tests-archive"
7353 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
7354 shell: bash
7355 - name: add default cargo home to path
7356 run: flowey.exe e 7 flowey_lib_common::install_rust 0
7357 shell: bash
7358 - name: install Rust
7359 run: flowey.exe e 7 flowey_lib_common::install_rust 1
7360 shell: bash
7361 - name: detect active toolchain
7362 run: |-
7363 flowey.exe e 7 flowey_lib_common::install_rust 2
7364 flowey.exe e 7 flowey_lib_common::cfg_cargo_common_flags 0
7365 shell: bash
7366 - name: check if openvmm needs to be cloned
7367 run: |-
7368 flowey.exe e 7 flowey_lib_common::git_checkout 0
7369 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
7370 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
7371 shell: bash
7372 - id: flowey_lib_common__git_checkout__1
7373 uses: actions/checkout@v6
7374 with:
7375 fetch-depth: '1'
7376 path: repo0
7377 persist-credentials: ${{ env.floweyvar1 }}
7378 name: checkout repo openvmm
7379 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
7380 - name: report cloned repo directories
7381 run: |-
7382 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
7383 ${{ github.workspace }}
7384 EOF
7385 flowey.exe e 7 flowey_lib_common::git_checkout 3
7386 flowey.exe e 7 flowey_lib_hvlite::git_checkout_openvmm_repo 0
7387 shell: bash
7388 - name: set '-Dwarnings' in .cargo/config.toml
7389 run: flowey.exe e 7 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
7390 shell: bash
7391 - name: create gh-release-download cache dir
7392 run: flowey.exe e 7 flowey_lib_common::download_gh_release 0
7393 shell: bash
7394 - name: Pre-processing cache vars
7395 run: |-
7396 flowey.exe e 7 flowey_lib_common::cache 4
7397 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
7398 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
7399 shell: bash
7400 - id: flowey_lib_common__cache__5
7401 uses: actions/cache@v5
7402 with:
7403 key: ${{ env.floweyvar4 }}
7404 path: ${{ env.floweyvar5 }}
7405 name: 'Restore cache: gh-release-download'
7406 - name: download artifacts from github releases
7407 run: |-
7408 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
7409 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
7410 EOF
7411 flowey.exe e 7 flowey_lib_common::cache 6
7412 flowey.exe e 7 flowey_lib_common::download_gh_release 1
7413 shell: bash
7414 - name: unpack protoc
7415 run: |-
7416 flowey.exe e 7 flowey_lib_common::resolve_protoc 0
7417 flowey.exe e 7 flowey_lib_hvlite::cfg_openvmm_magicpath 0
7418 shell: bash
7419 - name: symlink protoc
7420 run: |-
7421 flowey.exe e 7 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
7422 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 4
7423 shell: bash
7424 - name: cargo build openvmm
7425 run: |-
7426 flowey.exe e 7 flowey_lib_common::run_cargo_build 0
7427 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 0
7428 flowey.exe e 7 flowey_lib_hvlite::build_openvmm 0
7429 flowey.exe e 7 flowey_core::pipeline::artifact::publish 0
7430 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 1
7431 shell: bash
7432 - name: cargo build tmk_vmm
7433 run: |-
7434 flowey.exe e 7 flowey_lib_common::run_cargo_build 3
7435 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 5
7436 flowey.exe e 7 flowey_lib_hvlite::build_tmk_vmm 0
7437 flowey.exe e 7 flowey_core::pipeline::artifact::publish 1
7438 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 5
7439 shell: bash
7440 - name: cargo build prep_steps
7441 run: |-
7442 flowey.exe e 7 flowey_lib_common::run_cargo_build 1
7443 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 1
7444 flowey.exe e 7 flowey_lib_hvlite::build_prep_steps 0
7445 flowey.exe e 7 flowey_core::pipeline::artifact::publish 2
7446 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 3
7447 shell: bash
7448 - name: cargo build vmgstool
7449 run: |-
7450 flowey.exe e 7 flowey_lib_common::run_cargo_build 5
7451 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 9
7452 flowey.exe e 7 flowey_lib_hvlite::build_vmgstool 0
7453 flowey.exe e 7 flowey_core::pipeline::artifact::publish 3
7454 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 2
7455 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 6
7456 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 7
7457 shell: bash
7458 - name: cargo build tpm_guest_tests
7459 run: |-
7460 flowey.exe e 7 flowey_lib_common::run_cargo_build 4
7461 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 8
7462 flowey.exe e 7 flowey_lib_hvlite::build_tpm_guest_tests 0
7463 flowey.exe e 7 flowey_core::pipeline::artifact::publish 4
7464 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 6
7465 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 2
7466 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 3
7467 shell: bash
7468 - name: cargo build test_igvm_agent_rpc_server
7469 run: |-
7470 flowey.exe e 7 flowey_lib_common::run_cargo_build 2
7471 flowey.exe e 7 flowey_lib_hvlite::run_cargo_build 4
7472 flowey.exe e 7 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0
7473 flowey.exe e 7 flowey_core::pipeline::artifact::publish 5
7474 shell: bash
7475 - name: create cargo-nextest cache dir
7476 run: |-
7477 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0
7478 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1
7479 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2
7480 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3
7481 shell: bash
7482 - name: Pre-processing cache vars
7483 run: |-
7484 flowey.exe e 7 flowey_lib_common::cache 0
7485 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
7486 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
7487 shell: bash
7488 - id: flowey_lib_common__cache__1
7489 uses: actions/cache@v5
7490 with:
7491 key: ${{ env.floweyvar2 }}
7492 path: ${{ env.floweyvar3 }}
7493 name: 'Restore cache: cargo-nextest'
7494 - name: downloading cargo-nextest
7495 run: |-
7496 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
7497 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
7498 EOF
7499 flowey.exe e 7 flowey_lib_common::cache 2
7500 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4
7501 shell: bash
7502 - name: report $CARGO_HOME
7503 run: flowey.exe e 7 flowey_lib_common::install_rust 3
7504 shell: bash
7505 - name: installing cargo-nextest
7506 run: |-
7507 flowey.exe e 7 flowey_lib_common::install_cargo_nextest 0
7508 flowey.exe e 7 flowey_lib_hvlite::init_cross_build 0
7509 shell: bash
7510 - name: build + archive 'vmm_tests' nextests
7511 run: |-
7512 flowey.exe e 7 flowey_lib_common::run_cargo_nextest_archive 0
7513 flowey.exe e 7 flowey_lib_hvlite::build_nextest_vmm_tests 0
7514 flowey.exe e 7 flowey_core::pipeline::artifact::publish 6
7515 shell: bash
7516 - name: 'validate cache entry: cargo-nextest'
7517 run: flowey.exe e 7 flowey_lib_common::cache 3
7518 shell: bash
7519 - name: 'validate cache entry: gh-release-download'
7520 run: flowey.exe e 7 flowey_lib_common::cache 7
7521 shell: bash
7522 - name: 🌼📦 Publish x64-windows-openvmm
7523 uses: actions/upload-artifact@v7
7524 with:
7525 name: x64-windows-openvmm
7526 path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/
7527 include-hidden-files: true
7528 - name: 🌼📦 Publish x64-windows-prep_steps
7529 uses: actions/upload-artifact@v7
7530 with:
7531 name: x64-windows-prep_steps
7532 path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/
7533 include-hidden-files: true
7534 - name: 🌼📦 Publish x64-windows-test_igvm_agent_rpc_server
7535 uses: actions/upload-artifact@v7
7536 with:
7537 name: x64-windows-test_igvm_agent_rpc_server
7538 path: ${{ runner.temp }}/publish_artifacts/x64-windows-test_igvm_agent_rpc_server/
7539 include-hidden-files: true
7540 - name: 🌼📦 Publish x64-windows-tmk_vmm
7541 uses: actions/upload-artifact@v7
7542 with:
7543 name: x64-windows-tmk_vmm
7544 path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/
7545 include-hidden-files: true
7546 - name: 🌼📦 Publish x64-windows-tpm_guest_tests
7547 uses: actions/upload-artifact@v7
7548 with:
7549 name: x64-windows-tpm_guest_tests
7550 path: ${{ runner.temp }}/publish_artifacts/x64-windows-tpm_guest_tests/
7551 include-hidden-files: true
7552 - name: 🌼📦 Publish x64-windows-vmgstool
7553 uses: actions/upload-artifact@v7
7554 with:
7555 name: x64-windows-vmgstool
7556 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/
7557 include-hidden-files: true
7558 - name: 🌼📦 Publish x64-windows-vmm-tests-archive
7559 uses: actions/upload-artifact@v7
7560 with:
7561 name: x64-windows-vmm-tests-archive
7562 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/
7563 include-hidden-files: true
7564 - name: 🌼🧼 Redact bootstrap var db
7565 run: rm $AgentTempDirNormal/bootstrapped-flowey/job7.json
7566 shell: bash
7567 - name: 🌼🥾 Publish bootstrapped flowey
7568 uses: actions/upload-artifact@v7
7569 with:
7570 name: _internal-flowey-bootstrap-x86_64-windows-uid-6
7571 path: ${{ runner.temp }}/bootstrapped-flowey
7572 job8:
7573 name: build artifacts (for VMM tests) [aarch64-linux]
7574 runs-on:
7575 - self-hosted
7576 - 1ES.Pool=openvmm-gh-amd-westus3
7577 - 1ES.ImageOverride=ubuntu2404-amd64
7578 - JobId=job8-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
7579 permissions:
7580 contents: read
7581 id-token: write
7582 needs:
7583 - job0
7584 if: github.event.pull_request.draft == false
7585 steps:
7586 - name: 🌼📦 Download artifacts
7587 uses: actions/download-artifact@v8
7588 with:
7589 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
7590 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
7591 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
7592 shell: bash
7593 name: 🌼📦 Add flowey to PATH
7594 - name: 🌼🛫 Initialize job
7595 run: |
7596 AgentTempDirNormal="${{ runner.temp }}"
7597 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7598 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
7599
7600 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
7601
7602 echo '"debug"' | flowey v 8 'FLOWEY_LOG' update
7603 echo "${{ runner.temp }}/work" | flowey v 8 '_internal_WORKING_DIR' --is-raw-string update
7604
7605 cat <<'EOF' | flowey v 8 'verbose' update
7606 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
7607 EOF
7608 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen"
7609 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 8 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update
7610 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm"
7611 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update
7612 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost"
7613 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update
7614 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev"
7615 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update
7616 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm"
7617 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update
7618 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost"
7619 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update
7620 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib"
7621 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update
7622 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool"
7623 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update
7624 shell: bash
7625 - name: add default cargo home to path
7626 run: flowey e 8 flowey_lib_common::install_rust 0
7627 shell: bash
7628 - name: install Rust
7629 run: flowey e 8 flowey_lib_common::install_rust 1
7630 shell: bash
7631 - name: detect active toolchain
7632 run: |-
7633 flowey e 8 flowey_lib_common::install_rust 2
7634 flowey e 8 flowey_lib_common::cfg_cargo_common_flags 0
7635 shell: bash
7636 - name: checking if packages need to be installed
7637 run: flowey e 8 flowey_lib_common::install_dist_pkg 0
7638 shell: bash
7639 - name: installing packages
7640 run: flowey e 8 flowey_lib_common::install_dist_pkg 1
7641 shell: bash
7642 - name: check if openvmm needs to be cloned
7643 run: |-
7644 flowey e 8 flowey_lib_common::git_checkout 0
7645 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
7646 flowey v 8 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
7647 shell: bash
7648 - id: flowey_lib_common__git_checkout__1
7649 uses: actions/checkout@v6
7650 with:
7651 fetch-depth: '1'
7652 path: repo0
7653 persist-credentials: ${{ env.floweyvar1 }}
7654 name: checkout repo openvmm
7655 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
7656 - name: report cloned repo directories
7657 run: |-
7658 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
7659 ${{ github.workspace }}
7660 EOF
7661 flowey e 8 flowey_lib_common::git_checkout 3
7662 flowey e 8 flowey_lib_hvlite::git_checkout_openvmm_repo 0
7663 shell: bash
7664 - name: set '-Dwarnings' in .cargo/config.toml
7665 run: flowey e 8 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
7666 shell: bash
7667 - name: create gh-release-download cache dir
7668 run: flowey e 8 flowey_lib_common::download_gh_release 0
7669 shell: bash
7670 - name: Pre-processing cache vars
7671 run: |-
7672 flowey e 8 flowey_lib_common::cache 0
7673 flowey v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
7674 flowey v 8 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
7675 shell: bash
7676 - id: flowey_lib_common__cache__1
7677 uses: actions/cache@v5
7678 with:
7679 key: ${{ env.floweyvar2 }}
7680 path: ${{ env.floweyvar3 }}
7681 name: 'Restore cache: gh-release-download'
7682 - name: download artifacts from github releases
7683 run: |-
7684 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
7685 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
7686 EOF
7687 flowey e 8 flowey_lib_common::cache 2
7688 flowey e 8 flowey_lib_common::download_gh_release 1
7689 shell: bash
7690 - name: unpack protoc
7691 run: |-
7692 flowey e 8 flowey_lib_common::resolve_protoc 0
7693 flowey e 8 flowey_lib_hvlite::cfg_openvmm_magicpath 0
7694 shell: bash
7695 - name: symlink protoc
7696 run: |-
7697 flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
7698 flowey e 8 flowey_lib_hvlite::init_cross_build 0
7699 shell: bash
7700 - name: cargo build openvmm
7701 run: |-
7702 flowey e 8 flowey_lib_common::run_cargo_build 2
7703 flowey e 8 flowey_lib_hvlite::run_cargo_build 4
7704 shell: bash
7705 - name: split debug symbols
7706 run: |-
7707 flowey e 8 flowey_lib_hvlite::run_split_debug_info 1
7708 flowey e 8 flowey_lib_hvlite::run_cargo_build 5
7709 flowey e 8 flowey_lib_hvlite::build_openvmm 0
7710 flowey e 8 flowey_core::pipeline::artifact::publish 0
7711 flowey e 8 flowey_lib_hvlite::init_cross_build 2
7712 shell: bash
7713 - name: cargo build openvmm_vhost
7714 run: |-
7715 flowey e 8 flowey_lib_common::run_cargo_build 4
7716 flowey e 8 flowey_lib_hvlite::run_cargo_build 8
7717 shell: bash
7718 - name: split debug symbols
7719 run: |-
7720 flowey e 8 flowey_lib_hvlite::run_split_debug_info 3
7721 flowey e 8 flowey_lib_hvlite::run_cargo_build 9
7722 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0
7723 flowey e 8 flowey_core::pipeline::artifact::publish 1
7724 flowey e 8 flowey_lib_hvlite::init_cross_build 4
7725 shell: bash
7726 - name: cargo build vmgstool
7727 run: |-
7728 flowey e 8 flowey_lib_common::run_cargo_build 7
7729 flowey e 8 flowey_lib_hvlite::run_cargo_build 13
7730 shell: bash
7731 - name: split debug symbols
7732 run: |-
7733 flowey e 8 flowey_lib_hvlite::run_split_debug_info 6
7734 flowey e 8 flowey_lib_hvlite::run_cargo_build 14
7735 flowey e 8 flowey_lib_hvlite::build_vmgstool 0
7736 flowey e 8 flowey_core::pipeline::artifact::publish 2
7737 flowey e 8 flowey_lib_hvlite::init_cross_build 3
7738 shell: bash
7739 - name: cargo build vmgs_lib
7740 run: |-
7741 flowey e 8 flowey_lib_common::run_cargo_build 6
7742 flowey e 8 flowey_lib_hvlite::run_cargo_build 12
7743 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0
7744 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1
7745 flowey e 8 flowey_core::pipeline::artifact::publish 3
7746 flowey e 8 flowey_lib_hvlite::init_cross_build 1
7747 shell: bash
7748 - name: cargo build igvmfilegen
7749 run: |-
7750 flowey e 8 flowey_lib_common::run_cargo_build 0
7751 flowey e 8 flowey_lib_hvlite::run_cargo_build 0
7752 shell: bash
7753 - name: split debug symbols
7754 run: |-
7755 flowey e 8 flowey_lib_hvlite::run_split_debug_info 5
7756 flowey e 8 flowey_lib_hvlite::run_cargo_build 1
7757 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0
7758 flowey e 8 flowey_core::pipeline::artifact::publish 4
7759 flowey e 8 flowey_lib_hvlite::init_cross_build 5
7760 shell: bash
7761 - name: cargo build ohcldiag-dev
7762 run: |-
7763 flowey e 8 flowey_lib_common::run_cargo_build 1
7764 flowey e 8 flowey_lib_hvlite::run_cargo_build 2
7765 shell: bash
7766 - name: split debug symbols
7767 run: |-
7768 flowey e 8 flowey_lib_hvlite::run_split_debug_info 0
7769 flowey e 8 flowey_lib_hvlite::run_cargo_build 3
7770 flowey e 8 flowey_lib_hvlite::build_ohcldiag_dev 0
7771 flowey e 8 flowey_core::pipeline::artifact::publish 5
7772 shell: bash
7773 - name: unpack openvmm-deps archive
7774 run: flowey e 8 flowey_lib_hvlite::resolve_openvmm_deps 0
7775 shell: bash
7776 - name: extract Aarch64 sysroot.tar.gz
7777 run: |-
7778 flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
7779 flowey e 8 flowey_lib_hvlite::init_cross_build 6
7780 shell: bash
7781 - name: cargo build openvmm
7782 run: |-
7783 flowey e 8 flowey_lib_common::run_cargo_build 3
7784 flowey e 8 flowey_lib_hvlite::run_cargo_build 6
7785 shell: bash
7786 - name: split debug symbols
7787 run: |-
7788 flowey e 8 flowey_lib_hvlite::run_split_debug_info 2
7789 flowey e 8 flowey_lib_hvlite::run_cargo_build 7
7790 flowey e 8 flowey_lib_hvlite::build_openvmm 1
7791 flowey e 8 flowey_core::pipeline::artifact::publish 6
7792 flowey e 8 flowey_lib_hvlite::init_cross_build 7
7793 shell: bash
7794 - name: cargo build openvmm_vhost
7795 run: |-
7796 flowey e 8 flowey_lib_common::run_cargo_build 5
7797 flowey e 8 flowey_lib_hvlite::run_cargo_build 10
7798 shell: bash
7799 - name: split debug symbols
7800 run: |-
7801 flowey e 8 flowey_lib_hvlite::run_split_debug_info 4
7802 flowey e 8 flowey_lib_hvlite::run_cargo_build 11
7803 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1
7804 flowey e 8 flowey_core::pipeline::artifact::publish 7
7805 shell: bash
7806 - name: 'validate cache entry: gh-release-download'
7807 run: flowey e 8 flowey_lib_common::cache 3
7808 shell: bash
7809 - name: 🌼📦 Publish aarch64-linux-igvmfilegen
7810 uses: actions/upload-artifact@v7
7811 with:
7812 name: aarch64-linux-igvmfilegen
7813 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/
7814 include-hidden-files: true
7815 - name: 🌼📦 Publish aarch64-linux-musl-openvmm
7816 uses: actions/upload-artifact@v7
7817 with:
7818 name: aarch64-linux-musl-openvmm
7819 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm/
7820 include-hidden-files: true
7821 - name: 🌼📦 Publish aarch64-linux-musl-openvmm_vhost
7822 uses: actions/upload-artifact@v7
7823 with:
7824 name: aarch64-linux-musl-openvmm_vhost
7825 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/
7826 include-hidden-files: true
7827 - name: 🌼📦 Publish aarch64-linux-ohcldiag-dev
7828 uses: actions/upload-artifact@v7
7829 with:
7830 name: aarch64-linux-ohcldiag-dev
7831 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/
7832 include-hidden-files: true
7833 - name: 🌼📦 Publish aarch64-linux-openvmm
7834 uses: actions/upload-artifact@v7
7835 with:
7836 name: aarch64-linux-openvmm
7837 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/
7838 include-hidden-files: true
7839 - name: 🌼📦 Publish aarch64-linux-openvmm_vhost
7840 uses: actions/upload-artifact@v7
7841 with:
7842 name: aarch64-linux-openvmm_vhost
7843 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm_vhost/
7844 include-hidden-files: true
7845 - name: 🌼📦 Publish aarch64-linux-vmgs_lib
7846 uses: actions/upload-artifact@v7
7847 with:
7848 name: aarch64-linux-vmgs_lib
7849 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/
7850 include-hidden-files: true
7851 - name: 🌼📦 Publish aarch64-linux-vmgstool
7852 uses: actions/upload-artifact@v7
7853 with:
7854 name: aarch64-linux-vmgstool
7855 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/
7856 include-hidden-files: true
7857 job9:
7858 name: build artifacts (for VMM tests) [x64-linux]
7859 runs-on:
7860 - self-hosted
7861 - 1ES.Pool=openvmm-gh-amd-westus3
7862 - 1ES.ImageOverride=ubuntu2404-amd64
7863 - JobId=job9-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
7864 permissions:
7865 contents: read
7866 id-token: write
7867 needs:
7868 - job0
7869 if: github.event.pull_request.draft == false
7870 steps:
7871 - name: 🌼📦 Download artifacts
7872 uses: actions/download-artifact@v8
7873 with:
7874 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
7875 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
7876 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
7877 shell: bash
7878 name: 🌼📦 Add flowey to PATH
7879 - name: 🌼🛫 Initialize job
7880 run: |
7881 AgentTempDirNormal="${{ runner.temp }}"
7882 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
7883 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
7884
7885 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
7886
7887 echo '"debug"' | flowey v 9 'FLOWEY_LOG' update
7888 echo "${{ runner.temp }}/work" | flowey v 9 '_internal_WORKING_DIR' --is-raw-string update
7889
7890 cat <<'EOF' | flowey v 9 'verbose' update
7891 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
7892 EOF
7893 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen"
7894 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 9 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update
7895 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm"
7896 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update
7897 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost"
7898 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update
7899 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive"
7900 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
7901 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev"
7902 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | flowey v 9 'artifact_publish_from_x64-linux-ohcldiag-dev' --is-raw-string update
7903 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm"
7904 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-openvmm' --is-raw-string update
7905 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost"
7906 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-openvmm_vhost' --is-raw-string update
7907 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib"
7908 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | flowey v 9 'artifact_publish_from_x64-linux-vmgs_lib' --is-raw-string update
7909 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool"
7910 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update
7911 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive"
7912 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update
7913 shell: bash
7914 - name: add default cargo home to path
7915 run: flowey e 9 flowey_lib_common::install_rust 0
7916 shell: bash
7917 - name: install Rust
7918 run: flowey e 9 flowey_lib_common::install_rust 1
7919 shell: bash
7920 - name: detect active toolchain
7921 run: |-
7922 flowey e 9 flowey_lib_common::install_rust 2
7923 flowey e 9 flowey_lib_common::cfg_cargo_common_flags 0
7924 shell: bash
7925 - name: checking if packages need to be installed
7926 run: flowey e 9 flowey_lib_common::install_dist_pkg 0
7927 shell: bash
7928 - name: installing packages
7929 run: flowey e 9 flowey_lib_common::install_dist_pkg 1
7930 shell: bash
7931 - name: check if openvmm needs to be cloned
7932 run: |-
7933 flowey e 9 flowey_lib_common::git_checkout 0
7934 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
7935 flowey v 9 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION
7936 shell: bash
7937 - id: flowey_lib_common__git_checkout__1
7938 uses: actions/checkout@v6
7939 with:
7940 fetch-depth: '1'
7941 path: repo0
7942 persist-credentials: ${{ env.floweyvar1 }}
7943 name: checkout repo openvmm
7944 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
7945 - name: report cloned repo directories
7946 run: |-
7947 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
7948 ${{ github.workspace }}
7949 EOF
7950 flowey e 9 flowey_lib_common::git_checkout 3
7951 flowey e 9 flowey_lib_hvlite::git_checkout_openvmm_repo 0
7952 shell: bash
7953 - name: set '-Dwarnings' in .cargo/config.toml
7954 run: flowey e 9 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
7955 shell: bash
7956 - name: create gh-release-download cache dir
7957 run: flowey e 9 flowey_lib_common::download_gh_release 0
7958 shell: bash
7959 - name: Pre-processing cache vars
7960 run: |-
7961 flowey e 9 flowey_lib_common::cache 4
7962 flowey v 9 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
7963 flowey v 9 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
7964 shell: bash
7965 - id: flowey_lib_common__cache__5
7966 uses: actions/cache@v5
7967 with:
7968 key: ${{ env.floweyvar4 }}
7969 path: ${{ env.floweyvar5 }}
7970 name: 'Restore cache: gh-release-download'
7971 - name: download artifacts from github releases
7972 run: |-
7973 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
7974 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
7975 EOF
7976 flowey e 9 flowey_lib_common::cache 6
7977 flowey e 9 flowey_lib_common::download_gh_release 1
7978 shell: bash
7979 - name: unpack protoc
7980 run: |-
7981 flowey e 9 flowey_lib_common::resolve_protoc 0
7982 flowey e 9 flowey_lib_hvlite::cfg_openvmm_magicpath 0
7983 shell: bash
7984 - name: symlink protoc
7985 run: |-
7986 flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
7987 flowey e 9 flowey_lib_hvlite::init_cross_build 1
7988 shell: bash
7989 - name: cargo build openvmm
7990 run: |-
7991 flowey e 9 flowey_lib_common::run_cargo_build 2
7992 flowey e 9 flowey_lib_hvlite::run_cargo_build 4
7993 shell: bash
7994 - name: split debug symbols
7995 run: |-
7996 flowey e 9 flowey_lib_hvlite::run_split_debug_info 1
7997 flowey e 9 flowey_lib_hvlite::run_cargo_build 5
7998 flowey e 9 flowey_lib_hvlite::build_openvmm 0
7999 flowey e 9 flowey_core::pipeline::artifact::publish 0
8000 flowey e 9 flowey_lib_hvlite::init_cross_build 3
8001 shell: bash
8002 - name: cargo build openvmm_vhost
8003 run: |-
8004 flowey e 9 flowey_lib_common::run_cargo_build 4
8005 flowey e 9 flowey_lib_hvlite::run_cargo_build 8
8006 shell: bash
8007 - name: split debug symbols
8008 run: |-
8009 flowey e 9 flowey_lib_hvlite::run_split_debug_info 3
8010 flowey e 9 flowey_lib_hvlite::run_cargo_build 9
8011 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 0
8012 flowey e 9 flowey_core::pipeline::artifact::publish 1
8013 flowey e 9 flowey_lib_hvlite::init_cross_build 5
8014 shell: bash
8015 - name: cargo build vmgstool
8016 run: |-
8017 flowey e 9 flowey_lib_common::run_cargo_build 7
8018 flowey e 9 flowey_lib_hvlite::run_cargo_build 13
8019 shell: bash
8020 - name: split debug symbols
8021 run: |-
8022 flowey e 9 flowey_lib_hvlite::run_split_debug_info 6
8023 flowey e 9 flowey_lib_hvlite::run_cargo_build 14
8024 flowey e 9 flowey_lib_hvlite::build_vmgstool 0
8025 flowey e 9 flowey_core::pipeline::artifact::publish 2
8026 flowey e 9 flowey_lib_hvlite::init_cross_build 4
8027 shell: bash
8028 - name: cargo build vmgs_lib
8029 run: |-
8030 flowey e 9 flowey_lib_common::run_cargo_build 6
8031 flowey e 9 flowey_lib_hvlite::run_cargo_build 12
8032 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 0
8033 shell: bash
8034 - name: test vmgs_lib
8035 run: |-
8036 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 1
8037 flowey e 9 flowey_lib_hvlite::build_and_test_vmgs_lib 2
8038 flowey e 9 flowey_core::pipeline::artifact::publish 3
8039 flowey e 9 flowey_lib_hvlite::init_cross_build 2
8040 shell: bash
8041 - name: cargo build igvmfilegen
8042 run: |-
8043 flowey e 9 flowey_lib_common::run_cargo_build 0
8044 flowey e 9 flowey_lib_hvlite::run_cargo_build 0
8045 shell: bash
8046 - name: split debug symbols
8047 run: |-
8048 flowey e 9 flowey_lib_hvlite::run_split_debug_info 5
8049 flowey e 9 flowey_lib_hvlite::run_cargo_build 1
8050 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0
8051 flowey e 9 flowey_core::pipeline::artifact::publish 4
8052 flowey e 9 flowey_lib_hvlite::init_cross_build 6
8053 shell: bash
8054 - name: cargo build ohcldiag-dev
8055 run: |-
8056 flowey e 9 flowey_lib_common::run_cargo_build 1
8057 flowey e 9 flowey_lib_hvlite::run_cargo_build 2
8058 shell: bash
8059 - name: split debug symbols
8060 run: |-
8061 flowey e 9 flowey_lib_hvlite::run_split_debug_info 0
8062 flowey e 9 flowey_lib_hvlite::run_cargo_build 3
8063 flowey e 9 flowey_lib_hvlite::build_ohcldiag_dev 0
8064 flowey e 9 flowey_core::pipeline::artifact::publish 5
8065 shell: bash
8066 - name: unpack openvmm-deps archive
8067 run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0
8068 shell: bash
8069 - name: extract X86_64 sysroot.tar.gz
8070 run: |-
8071 flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
8072 flowey e 9 flowey_lib_hvlite::init_cross_build 8
8073 shell: bash
8074 - name: cargo build openvmm
8075 run: |-
8076 flowey e 9 flowey_lib_common::run_cargo_build 3
8077 flowey e 9 flowey_lib_hvlite::run_cargo_build 6
8078 shell: bash
8079 - name: split debug symbols
8080 run: |-
8081 flowey e 9 flowey_lib_hvlite::run_split_debug_info 2
8082 flowey e 9 flowey_lib_hvlite::run_cargo_build 7
8083 flowey e 9 flowey_lib_hvlite::build_openvmm 1
8084 flowey e 9 flowey_core::pipeline::artifact::publish 6
8085 flowey e 9 flowey_lib_hvlite::init_cross_build 9
8086 shell: bash
8087 - name: cargo build openvmm_vhost
8088 run: |-
8089 flowey e 9 flowey_lib_common::run_cargo_build 5
8090 flowey e 9 flowey_lib_hvlite::run_cargo_build 10
8091 shell: bash
8092 - name: split debug symbols
8093 run: |-
8094 flowey e 9 flowey_lib_hvlite::run_split_debug_info 4
8095 flowey e 9 flowey_lib_hvlite::run_cargo_build 11
8096 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1
8097 flowey e 9 flowey_core::pipeline::artifact::publish 7
8098 shell: bash
8099 - name: create cargo-nextest cache dir
8100 run: |-
8101 flowey e 9 flowey_lib_common::download_cargo_nextest 0
8102 flowey e 9 flowey_lib_common::download_cargo_nextest 1
8103 flowey e 9 flowey_lib_common::download_cargo_nextest 2
8104 flowey e 9 flowey_lib_common::download_cargo_nextest 3
8105 shell: bash
8106 - name: Pre-processing cache vars
8107 run: |-
8108 flowey e 9 flowey_lib_common::cache 0
8109 flowey v 9 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
8110 flowey v 9 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
8111 shell: bash
8112 - id: flowey_lib_common__cache__1
8113 uses: actions/cache@v5
8114 with:
8115 key: ${{ env.floweyvar2 }}
8116 path: ${{ env.floweyvar3 }}
8117 name: 'Restore cache: cargo-nextest'
8118 - name: downloading cargo-nextest
8119 run: |-
8120 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
8121 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
8122 EOF
8123 flowey e 9 flowey_lib_common::cache 2
8124 flowey e 9 flowey_lib_common::download_cargo_nextest 4
8125 shell: bash
8126 - name: report $CARGO_HOME
8127 run: flowey e 9 flowey_lib_common::install_rust 3
8128 shell: bash
8129 - name: installing cargo-nextest
8130 run: |-
8131 flowey e 9 flowey_lib_common::install_cargo_nextest 0
8132 flowey e 9 flowey_lib_hvlite::init_cross_build 0
8133 shell: bash
8134 - name: build + archive 'vmm_tests' nextests
8135 run: |-
8136 flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0
8137 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0
8138 flowey e 9 flowey_core::pipeline::artifact::publish 8
8139 flowey e 9 flowey_lib_hvlite::init_cross_build 7
8140 shell: bash
8141 - name: build + archive 'vmm_tests' nextests
8142 run: |-
8143 flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1
8144 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1
8145 flowey e 9 flowey_core::pipeline::artifact::publish 9
8146 shell: bash
8147 - name: 'validate cache entry: cargo-nextest'
8148 run: flowey e 9 flowey_lib_common::cache 3
8149 shell: bash
8150 - name: 'validate cache entry: gh-release-download'
8151 run: flowey e 9 flowey_lib_common::cache 7
8152 shell: bash
8153 - name: 🌼📦 Publish x64-linux-igvmfilegen
8154 uses: actions/upload-artifact@v7
8155 with:
8156 name: x64-linux-igvmfilegen
8157 path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/
8158 include-hidden-files: true
8159 - name: 🌼📦 Publish x64-linux-musl-openvmm
8160 uses: actions/upload-artifact@v7
8161 with:
8162 name: x64-linux-musl-openvmm
8163 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm/
8164 include-hidden-files: true
8165 - name: 🌼📦 Publish x64-linux-musl-openvmm_vhost
8166 uses: actions/upload-artifact@v7
8167 with:
8168 name: x64-linux-musl-openvmm_vhost
8169 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/
8170 include-hidden-files: true
8171 - name: 🌼📦 Publish x64-linux-musl-vmm-tests-archive
8172 uses: actions/upload-artifact@v7
8173 with:
8174 name: x64-linux-musl-vmm-tests-archive
8175 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-tests-archive/
8176 include-hidden-files: true
8177 - name: 🌼📦 Publish x64-linux-ohcldiag-dev
8178 uses: actions/upload-artifact@v7
8179 with:
8180 name: x64-linux-ohcldiag-dev
8181 path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/
8182 include-hidden-files: true
8183 - name: 🌼📦 Publish x64-linux-openvmm
8184 uses: actions/upload-artifact@v7
8185 with:
8186 name: x64-linux-openvmm
8187 path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/
8188 include-hidden-files: true
8189 - name: 🌼📦 Publish x64-linux-openvmm_vhost
8190 uses: actions/upload-artifact@v7
8191 with:
8192 name: x64-linux-openvmm_vhost
8193 path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm_vhost/
8194 include-hidden-files: true
8195 - name: 🌼📦 Publish x64-linux-vmgs_lib
8196 uses: actions/upload-artifact@v7
8197 with:
8198 name: x64-linux-vmgs_lib
8199 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/
8200 include-hidden-files: true
8201 - name: 🌼📦 Publish x64-linux-vmgstool
8202 uses: actions/upload-artifact@v7
8203 with:
8204 name: x64-linux-vmgstool
8205 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/
8206 include-hidden-files: true
8207 - name: 🌼📦 Publish x64-linux-vmm-tests-archive
8208 uses: actions/upload-artifact@v7
8209 with:
8210 name: x64-linux-vmm-tests-archive
8211 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/
8212 include-hidden-files: true