microsoft/openvmm

Public

mirrored fromhttps://github.com/microsoft/openvmmAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
bc9234aaf4b4313b29efa7ebe6dec39994cbf74b

Branches

Tags

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

Clone

HTTPS

Download ZIP

.github/workflows/openvmm-pr-release.yaml

6482lines Β· modecode

1##############################
2# THIS FILE IS AUTOGENERATED #
3# DO NOT MANUALLY EDIT #
4##############################
5name: '[Optional] OpenVMM Release 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
23 - labeled
24concurrency:
25 group: ${{ github.workflow }}-${{ github.ref }}
26 cancel-in-progress: true
27jobs:
28 job0:
29 name: quick check [fmt, clippy x64-linux]
30 runs-on:
31 - self-hosted
32 - 1ES.Pool=openvmm-gh-amd-westus3
33 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
34 - JobId=job0-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
35 permissions:
36 contents: read
37 id-token: write
38 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
39 steps:
40 - run: |
41 set -x
42 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
43 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
44 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
45 . "$HOME/.cargo/env"
46 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
47 rustup show
48 if: runner.os == 'Linux'
49 name: rustup (Linux)
50 shell: bash
51 - run: |
52 set -x
53 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
54 ./rustup-init.exe -y --default-toolchain=1.94.0
55 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
56 if: runner.os == 'Windows' && runner.arch == 'X64'
57 name: rustup (Windows X64)
58 shell: bash
59 - run: |
60 set -x
61 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
62 ./rustup-init.exe -y --default-toolchain=1.94.0
63 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
64 if: runner.os == 'Windows' && runner.arch == 'ARM64'
65 name: rustup (Windows ARM64)
66 shell: bash
67 - uses: actions/checkout@v6
68 with:
69 path: flowey_bootstrap
70 - name: Build flowey
71 run: |
72 set -x
73 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci
74 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
75 mkdir -p "$OutDirNormal"
76 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
77 mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
78 working-directory: flowey_bootstrap
79 shell: bash
80 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
81 shell: bash
82 name: πŸŒΌπŸ“¦ Add flowey to PATH
83 - name: πŸŒΌπŸ”Ž Self-check YAML
84 run: |-
85 ESCAPED_AGENT_TEMPDIR=$(
86 cat <<'EOF' | sed 's/\\/\\\\/g'
87 ${{ runner.temp }}
88 EOF
89 )
90 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
91 shell: bash
92 - name: πŸŒΌπŸ›« Initialize job
93 run: |
94 AgentTempDirNormal="${{ runner.temp }}"
95 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
96 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
97
98 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
99
100 echo '"debug"' | flowey v 0 'FLOWEY_LOG' update
101 echo "${{ runner.temp }}/work" | flowey v 0 '_internal_WORKING_DIR' --is-raw-string update
102
103 cat <<'EOF' | flowey v 0 'verbose' update
104 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
105 EOF
106 shell: bash
107 - name: check if openvmm needs to be cloned
108 run: |-
109 flowey e 0 flowey_lib_common::git_checkout 0
110 flowey v 0 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
111 flowey v 0 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
112 shell: bash
113 - id: flowey_lib_common__git_checkout__1
114 uses: actions/checkout@v6
115 with:
116 fetch-depth: '1'
117 path: repo0
118 persist-credentials: ${{ env.floweyvar1 }}
119 name: checkout repo openvmm
120 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
121 - name: report cloned repo directories
122 run: |-
123 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
124 ${{ github.workspace }}
125 EOF
126 flowey e 0 flowey_lib_common::git_checkout 3
127 flowey e 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0
128 shell: bash
129 - name: add default cargo home to path
130 run: flowey e 0 flowey_lib_common::install_rust 0
131 shell: bash
132 - name: install Rust
133 run: flowey e 0 flowey_lib_common::install_rust 1
134 shell: bash
135 - name: detect active toolchain
136 run: |-
137 flowey e 0 flowey_lib_common::install_rust 2
138 flowey e 0 flowey_lib_common::cfg_cargo_common_flags 0
139 shell: bash
140 - name: set '-Dwarnings' in .cargo/config.toml
141 run: flowey e 0 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
142 shell: bash
143 - name: create gh-release-download cache dir
144 run: flowey e 0 flowey_lib_common::download_gh_release 0
145 shell: bash
146 - name: Pre-processing cache vars
147 run: |-
148 flowey e 0 flowey_lib_common::cache 0
149 flowey v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
150 flowey v 0 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
151 shell: bash
152 - id: flowey_lib_common__cache__1
153 uses: actions/cache@v5
154 with:
155 key: ${{ env.floweyvar2 }}
156 path: ${{ env.floweyvar3 }}
157 name: 'Restore cache: gh-release-download'
158 - name: download artifacts from github releases
159 run: |-
160 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
161 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
162 EOF
163 flowey e 0 flowey_lib_common::cache 2
164 flowey e 0 flowey_lib_common::download_gh_release 1
165 shell: bash
166 - name: checking if packages need to be installed
167 run: flowey e 0 flowey_lib_common::install_dist_pkg 0
168 shell: bash
169 - name: installing packages
170 run: flowey e 0 flowey_lib_common::install_dist_pkg 1
171 shell: bash
172 - name: unpack protoc
173 run: |-
174 flowey e 0 flowey_lib_common::resolve_protoc 0
175 flowey e 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0
176 shell: bash
177 - name: symlink protoc
178 run: |-
179 flowey e 0 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
180 flowey e 0 flowey_lib_hvlite::init_cross_build 2
181 shell: bash
182 - name: cargo build xtask
183 run: |-
184 flowey e 0 flowey_lib_common::run_cargo_build 1
185 flowey e 0 flowey_lib_hvlite::run_cargo_build 2
186 shell: bash
187 - name: split debug symbols
188 run: |-
189 flowey e 0 flowey_lib_hvlite::run_split_debug_info 0
190 flowey e 0 flowey_lib_hvlite::run_cargo_build 3
191 flowey e 0 flowey_lib_hvlite::build_xtask 1
192 shell: bash
193 - name: run xtask fmt
194 run: |-
195 flowey e 0 flowey_lib_hvlite::_jobs::check_xtask_fmt 0
196 flowey e 0 flowey_lib_hvlite::init_cross_build 0
197 flowey e 0 flowey_lib_hvlite::init_cross_build 1
198 shell: bash
199 - name: cargo build xtask
200 run: |-
201 flowey e 0 flowey_lib_common::run_cargo_build 0
202 flowey e 0 flowey_lib_hvlite::run_cargo_build 0
203 shell: bash
204 - name: split debug symbols
205 run: |-
206 flowey e 0 flowey_lib_hvlite::run_split_debug_info 1
207 flowey e 0 flowey_lib_hvlite::run_cargo_build 1
208 flowey e 0 flowey_lib_hvlite::build_xtask 0
209 shell: bash
210 - name: determine clippy exclusions
211 run: flowey e 0 flowey_lib_hvlite::_jobs::check_clippy 0
212 shell: bash
213 - name: cargo clippy
214 run: flowey e 0 flowey_lib_common::run_cargo_clippy 0
215 shell: bash
216 - name: 'validate cache entry: gh-release-download'
217 run: flowey e 0 flowey_lib_common::cache 3
218 shell: bash
219 - name: 🌼🧼 Redact bootstrap var db
220 run: rm $AgentTempDirNormal/bootstrapped-flowey/job0.json
221 shell: bash
222 - name: 🌼πŸ₯Ύ Publish bootstrapped flowey
223 uses: actions/upload-artifact@v7
224 with:
225 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
226 path: ${{ runner.temp }}/bootstrapped-flowey
227 job1:
228 name: xtask fmt (windows)
229 runs-on: windows-latest
230 permissions:
231 contents: read
232 id-token: write
233 needs:
234 - job0
235 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
236 steps:
237 - run: |
238 set -x
239 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
240 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
241 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
242 . "$HOME/.cargo/env"
243 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
244 rustup show
245 if: runner.os == 'Linux'
246 name: rustup (Linux)
247 shell: bash
248 - run: |
249 set -x
250 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
251 ./rustup-init.exe -y --default-toolchain=1.94.0
252 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
253 if: runner.os == 'Windows' && runner.arch == 'X64'
254 name: rustup (Windows X64)
255 shell: bash
256 - run: |
257 set -x
258 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
259 ./rustup-init.exe -y --default-toolchain=1.94.0
260 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
261 if: runner.os == 'Windows' && runner.arch == 'ARM64'
262 name: rustup (Windows ARM64)
263 shell: bash
264 - uses: actions/checkout@v6
265 with:
266 path: flowey_bootstrap
267 - name: Build flowey
268 run: |
269 set -x
270 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
271 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
272 mkdir -p "$OutDirNormal"
273 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
274 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
275 working-directory: flowey_bootstrap
276 shell: bash
277 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
278 shell: bash
279 name: πŸŒΌπŸ“¦ Add flowey to PATH
280 - name: πŸŒΌπŸ”Ž Self-check YAML
281 run: |-
282 ESCAPED_AGENT_TEMPDIR=$(
283 cat <<'EOF' | sed 's/\\/\\\\/g'
284 ${{ runner.temp }}
285 EOF
286 )
287 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
288 shell: bash
289 - name: πŸŒΌπŸ›« Initialize job
290 run: |
291 AgentTempDirNormal="${{ runner.temp }}"
292 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
293 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
294
295 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
296
297 echo '"debug"' | flowey.exe v 1 'FLOWEY_LOG' update
298 echo "${{ runner.temp }}/work" | flowey.exe v 1 '_internal_WORKING_DIR' --is-raw-string update
299
300 cat <<'EOF' | flowey.exe v 1 'verbose' update
301 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
302 EOF
303 shell: bash
304 - name: check if openvmm needs to be cloned
305 run: |-
306 flowey.exe e 1 flowey_lib_common::git_checkout 0
307 flowey.exe v 1 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
308 flowey.exe v 1 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
309 shell: bash
310 - id: flowey_lib_common__git_checkout__1
311 uses: actions/checkout@v6
312 with:
313 fetch-depth: '1'
314 path: repo0
315 persist-credentials: ${{ env.floweyvar1 }}
316 name: checkout repo openvmm
317 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
318 - name: report cloned repo directories
319 run: |-
320 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
321 ${{ github.workspace }}
322 EOF
323 flowey.exe e 1 flowey_lib_common::git_checkout 3
324 flowey.exe e 1 flowey_lib_hvlite::git_checkout_openvmm_repo 0
325 shell: bash
326 - name: add default cargo home to path
327 run: flowey.exe e 1 flowey_lib_common::install_rust 0
328 shell: bash
329 - name: install Rust
330 run: flowey.exe e 1 flowey_lib_common::install_rust 1
331 shell: bash
332 - name: detect active toolchain
333 run: |-
334 flowey.exe e 1 flowey_lib_common::install_rust 2
335 flowey.exe e 1 flowey_lib_common::cfg_cargo_common_flags 0
336 shell: bash
337 - name: set '-Dwarnings' in .cargo/config.toml
338 run: flowey.exe e 1 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
339 shell: bash
340 - name: create gh-release-download cache dir
341 run: flowey.exe e 1 flowey_lib_common::download_gh_release 0
342 shell: bash
343 - name: Pre-processing cache vars
344 run: |-
345 flowey.exe e 1 flowey_lib_common::cache 0
346 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
347 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
348 shell: bash
349 - id: flowey_lib_common__cache__1
350 uses: actions/cache@v5
351 with:
352 key: ${{ env.floweyvar2 }}
353 path: ${{ env.floweyvar3 }}
354 name: 'Restore cache: gh-release-download'
355 - name: download artifacts from github releases
356 run: |-
357 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
358 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
359 EOF
360 flowey.exe e 1 flowey_lib_common::cache 2
361 flowey.exe e 1 flowey_lib_common::download_gh_release 1
362 shell: bash
363 - name: unpack protoc
364 run: |-
365 flowey.exe e 1 flowey_lib_common::resolve_protoc 0
366 flowey.exe e 1 flowey_lib_hvlite::cfg_openvmm_magicpath 0
367 shell: bash
368 - name: symlink protoc
369 run: |-
370 flowey.exe e 1 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
371 flowey.exe e 1 flowey_lib_hvlite::init_cross_build 0
372 shell: bash
373 - name: cargo build xtask
374 run: |-
375 flowey.exe e 1 flowey_lib_common::run_cargo_build 0
376 flowey.exe e 1 flowey_lib_hvlite::run_cargo_build 0
377 flowey.exe e 1 flowey_lib_hvlite::build_xtask 0
378 shell: bash
379 - name: run xtask fmt
380 run: flowey.exe e 1 flowey_lib_hvlite::_jobs::check_xtask_fmt 0
381 shell: bash
382 - name: 'validate cache entry: gh-release-download'
383 run: flowey.exe e 1 flowey_lib_common::cache 3
384 shell: bash
385 job10:
386 name: clippy [x64-windows], unit tests [x64-windows]
387 runs-on:
388 - self-hosted
389 - 1ES.Pool=openvmm-gh-amd-westus3
390 - 1ES.ImageOverride=win-amd64
391 - JobId=job10-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
392 permissions:
393 contents: read
394 id-token: write
395 needs:
396 - job0
397 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
398 steps:
399 - run: |
400 set -x
401 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
402 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
403 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
404 . "$HOME/.cargo/env"
405 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
406 rustup show
407 if: runner.os == 'Linux'
408 name: rustup (Linux)
409 shell: bash
410 - run: |
411 set -x
412 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
413 ./rustup-init.exe -y --default-toolchain=1.94.0
414 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
415 if: runner.os == 'Windows' && runner.arch == 'X64'
416 name: rustup (Windows X64)
417 shell: bash
418 - run: |
419 set -x
420 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
421 ./rustup-init.exe -y --default-toolchain=1.94.0
422 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
423 if: runner.os == 'Windows' && runner.arch == 'ARM64'
424 name: rustup (Windows ARM64)
425 shell: bash
426 - uses: actions/checkout@v6
427 with:
428 path: flowey_bootstrap
429 - name: Build flowey
430 run: |
431 set -x
432 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
433 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
434 mkdir -p "$OutDirNormal"
435 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
436 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
437 working-directory: flowey_bootstrap
438 shell: bash
439 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
440 shell: bash
441 name: πŸŒΌπŸ“¦ Add flowey to PATH
442 - name: πŸŒΌπŸ”Ž Self-check YAML
443 run: |-
444 ESCAPED_AGENT_TEMPDIR=$(
445 cat <<'EOF' | sed 's/\\/\\\\/g'
446 ${{ runner.temp }}
447 EOF
448 )
449 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
450 shell: bash
451 - name: πŸŒΌπŸ›« Initialize job
452 run: |
453 AgentTempDirNormal="${{ runner.temp }}"
454 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
455 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
456
457 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
458
459 echo '"debug"' | flowey.exe v 10 'FLOWEY_LOG' update
460 echo "${{ runner.temp }}/work" | flowey.exe v 10 '_internal_WORKING_DIR' --is-raw-string update
461
462 cat <<'EOF' | flowey.exe v 10 'verbose' update
463 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
464 EOF
465 shell: bash
466 - name: add default cargo home to path
467 run: flowey.exe e 10 flowey_lib_common::install_rust 0
468 shell: bash
469 - name: install Rust
470 run: flowey.exe e 10 flowey_lib_common::install_rust 1
471 shell: bash
472 - name: detect active toolchain
473 run: |-
474 flowey.exe e 10 flowey_lib_common::install_rust 2
475 flowey.exe e 10 flowey_lib_common::cfg_cargo_common_flags 0
476 shell: bash
477 - name: check if openvmm needs to be cloned
478 run: |-
479 flowey.exe e 10 flowey_lib_common::git_checkout 0
480 flowey.exe v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6
481 flowey.exe v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
482 shell: bash
483 - id: flowey_lib_common__git_checkout__1
484 uses: actions/checkout@v6
485 with:
486 fetch-depth: '1'
487 path: repo0
488 persist-credentials: ${{ env.floweyvar6 }}
489 name: checkout repo openvmm
490 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
491 - name: report cloned repo directories
492 run: |-
493 flowey.exe v 10 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
494 ${{ github.workspace }}
495 EOF
496 flowey.exe e 10 flowey_lib_common::git_checkout 3
497 flowey.exe e 10 flowey_lib_hvlite::git_checkout_openvmm_repo 0
498 shell: bash
499 - name: set '-Dwarnings' in .cargo/config.toml
500 run: flowey.exe e 10 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
501 shell: bash
502 - name: create gh-release-download cache dir
503 run: flowey.exe e 10 flowey_lib_common::download_gh_release 0
504 shell: bash
505 - name: Pre-processing cache vars
506 run: |-
507 flowey.exe e 10 flowey_lib_common::cache 4
508 flowey.exe v 10 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
509 flowey.exe v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
510 shell: bash
511 - id: flowey_lib_common__cache__5
512 uses: actions/cache@v5
513 with:
514 key: ${{ env.floweyvar4 }}
515 path: ${{ env.floweyvar5 }}
516 name: 'Restore cache: gh-release-download'
517 - name: download artifacts from github releases
518 run: |-
519 flowey.exe v 10 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
520 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
521 EOF
522 flowey.exe e 10 flowey_lib_common::cache 6
523 flowey.exe e 10 flowey_lib_common::download_gh_release 1
524 shell: bash
525 - name: unpack protoc
526 run: |-
527 flowey.exe e 10 flowey_lib_common::resolve_protoc 0
528 flowey.exe e 10 flowey_lib_hvlite::cfg_openvmm_magicpath 0
529 shell: bash
530 - name: symlink protoc
531 run: |-
532 flowey.exe e 10 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
533 flowey.exe e 10 flowey_lib_hvlite::init_cross_build 0
534 flowey.exe e 10 flowey_lib_hvlite::init_cross_build 2
535 shell: bash
536 - name: cargo build xtask
537 run: |-
538 flowey.exe e 10 flowey_lib_common::run_cargo_build 0
539 flowey.exe e 10 flowey_lib_hvlite::run_cargo_build 0
540 flowey.exe e 10 flowey_lib_hvlite::build_xtask 0
541 shell: bash
542 - name: determine clippy exclusions
543 run: flowey.exe e 10 flowey_lib_hvlite::_jobs::check_clippy 0
544 shell: bash
545 - name: cargo clippy
546 run: flowey.exe e 10 flowey_lib_common::run_cargo_clippy 0
547 shell: bash
548 - name: create cargo-nextest cache dir
549 run: |-
550 flowey.exe e 10 flowey_lib_common::download_cargo_nextest 0
551 flowey.exe e 10 flowey_lib_common::download_cargo_nextest 1
552 flowey.exe e 10 flowey_lib_common::download_cargo_nextest 2
553 flowey.exe e 10 flowey_lib_common::download_cargo_nextest 3
554 shell: bash
555 - name: Pre-processing cache vars
556 run: |-
557 flowey.exe e 10 flowey_lib_common::cache 0
558 flowey.exe v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
559 flowey.exe v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
560 shell: bash
561 - id: flowey_lib_common__cache__1
562 uses: actions/cache@v5
563 with:
564 key: ${{ env.floweyvar2 }}
565 path: ${{ env.floweyvar3 }}
566 name: 'Restore cache: cargo-nextest'
567 - name: downloading cargo-nextest
568 run: |-
569 flowey.exe v 10 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
570 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
571 EOF
572 flowey.exe e 10 flowey_lib_common::cache 2
573 flowey.exe e 10 flowey_lib_common::download_cargo_nextest 4
574 shell: bash
575 - name: report $CARGO_HOME
576 run: flowey.exe e 10 flowey_lib_common::install_rust 3
577 shell: bash
578 - name: installing cargo-nextest
579 run: |-
580 flowey.exe e 10 flowey_lib_common::install_cargo_nextest 0
581 flowey.exe e 10 flowey_lib_hvlite::init_cross_build 3
582 shell: bash
583 - name: cargo build xtask
584 run: |-
585 flowey.exe e 10 flowey_lib_common::run_cargo_build 1
586 flowey.exe e 10 flowey_lib_hvlite::run_cargo_build 1
587 flowey.exe e 10 flowey_lib_hvlite::build_xtask 1
588 shell: bash
589 - name: determine unit test exclusions
590 run: |-
591 flowey.exe e 10 flowey_lib_hvlite::build_nextest_unit_tests 0
592 flowey.exe e 10 flowey_lib_hvlite::init_cross_build 1
593 flowey.exe e 10 flowey_lib_hvlite::run_cargo_nextest_run 0
594 shell: bash
595 - name: generate nextest command
596 run: flowey.exe e 10 flowey_lib_common::gen_cargo_nextest_run_cmd 0
597 shell: bash
598 - name: run 'unit-tests' nextest tests
599 run: |-
600 flowey.exe e 10 flowey_lib_common::run_cargo_nextest_run 0
601 flowey.exe e 10 flowey_lib_common::run_cargo_nextest_run 1
602 flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
603 flowey.exe e 10 flowey_lib_common::publish_test_results 0
604 flowey.exe e 10 flowey_lib_common::publish_test_results 1
605 flowey.exe e 10 flowey_lib_common::publish_test_results 2
606 flowey.exe v 10 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
607 flowey.exe v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
608 shell: bash
609 - id: flowey_lib_common__publish_test_results__3
610 uses: actions/upload-artifact@v7
611 with:
612 name: x64-windows-unit-tests-junit-xml
613 path: ${{ env.floweyvar1 }}
614 name: 'publish test results: x64-windows-unit-tests (JUnit XML)'
615 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
616 - name: report test results to overall pipeline status
617 run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1
618 shell: bash
619 - name: run doctests for x86_64-pc-windows-msvc
620 run: flowey.exe e 10 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
621 shell: bash
622 - name: 'validate cache entry: cargo-nextest'
623 run: flowey.exe e 10 flowey_lib_common::cache 3
624 shell: bash
625 - name: 'validate cache entry: gh-release-download'
626 run: flowey.exe e 10 flowey_lib_common::cache 7
627 shell: bash
628 job11:
629 name: clippy [macos], unit tests [x64-linux]
630 runs-on:
631 - self-hosted
632 - 1ES.Pool=openvmm-gh-amd-westus3
633 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
634 - JobId=job11-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
635 permissions:
636 contents: read
637 id-token: write
638 needs:
639 - job0
640 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
641 steps:
642 - name: πŸŒΌπŸ“¦ Download artifacts
643 uses: actions/download-artifact@v8
644 with:
645 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
646 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
647 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
648 shell: bash
649 name: πŸŒΌπŸ“¦ Add flowey to PATH
650 - name: πŸŒΌπŸ›« Initialize job
651 run: |
652 AgentTempDirNormal="${{ runner.temp }}"
653 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
654 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
655
656 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
657
658 echo '"debug"' | flowey v 11 'FLOWEY_LOG' update
659 echo "${{ runner.temp }}/work" | flowey v 11 '_internal_WORKING_DIR' --is-raw-string update
660
661 cat <<'EOF' | flowey v 11 'verbose' update
662 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
663 EOF
664 shell: bash
665 - name: add default cargo home to path
666 run: flowey e 11 flowey_lib_common::install_rust 0
667 shell: bash
668 - name: install Rust
669 run: flowey e 11 flowey_lib_common::install_rust 1
670 shell: bash
671 - name: detect active toolchain
672 run: |-
673 flowey e 11 flowey_lib_common::install_rust 2
674 flowey e 11 flowey_lib_common::cfg_cargo_common_flags 0
675 shell: bash
676 - name: checking if packages need to be installed
677 run: flowey e 11 flowey_lib_common::install_dist_pkg 0
678 shell: bash
679 - name: installing packages
680 run: flowey e 11 flowey_lib_common::install_dist_pkg 1
681 shell: bash
682 - name: check if openvmm needs to be cloned
683 run: |-
684 flowey e 11 flowey_lib_common::git_checkout 0
685 flowey v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6
686 flowey v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
687 shell: bash
688 - id: flowey_lib_common__git_checkout__1
689 uses: actions/checkout@v6
690 with:
691 fetch-depth: '1'
692 path: repo0
693 persist-credentials: ${{ env.floweyvar6 }}
694 name: checkout repo openvmm
695 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
696 - name: report cloned repo directories
697 run: |-
698 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
699 ${{ github.workspace }}
700 EOF
701 flowey e 11 flowey_lib_common::git_checkout 3
702 flowey e 11 flowey_lib_hvlite::git_checkout_openvmm_repo 0
703 shell: bash
704 - name: set '-Dwarnings' in .cargo/config.toml
705 run: flowey e 11 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
706 shell: bash
707 - name: create gh-release-download cache dir
708 run: flowey e 11 flowey_lib_common::download_gh_release 0
709 shell: bash
710 - name: Pre-processing cache vars
711 run: |-
712 flowey e 11 flowey_lib_common::cache 4
713 flowey v 11 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
714 flowey v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
715 shell: bash
716 - id: flowey_lib_common__cache__5
717 uses: actions/cache@v5
718 with:
719 key: ${{ env.floweyvar4 }}
720 path: ${{ env.floweyvar5 }}
721 name: 'Restore cache: gh-release-download'
722 - name: download artifacts from github releases
723 run: |-
724 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
725 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
726 EOF
727 flowey e 11 flowey_lib_common::cache 6
728 flowey e 11 flowey_lib_common::download_gh_release 1
729 shell: bash
730 - name: unpack protoc
731 run: |-
732 flowey e 11 flowey_lib_common::resolve_protoc 0
733 flowey e 11 flowey_lib_hvlite::cfg_openvmm_magicpath 0
734 shell: bash
735 - name: symlink protoc
736 run: |-
737 flowey e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
738 flowey e 11 flowey_lib_hvlite::init_cross_build 1
739 shell: bash
740 - name: cargo build xtask
741 run: |-
742 flowey e 11 flowey_lib_common::run_cargo_build 0
743 flowey e 11 flowey_lib_hvlite::run_cargo_build 0
744 shell: bash
745 - name: split debug symbols
746 run: |-
747 flowey e 11 flowey_lib_hvlite::run_split_debug_info 1
748 flowey e 11 flowey_lib_hvlite::run_cargo_build 1
749 flowey e 11 flowey_lib_hvlite::build_xtask 0
750 shell: bash
751 - name: determine clippy exclusions
752 run: flowey e 11 flowey_lib_hvlite::_jobs::check_clippy 0
753 shell: bash
754 - name: cargo clippy
755 run: flowey e 11 flowey_lib_common::run_cargo_clippy 0
756 shell: bash
757 - name: create cargo-nextest cache dir
758 run: |-
759 flowey e 11 flowey_lib_common::download_cargo_nextest 0
760 flowey e 11 flowey_lib_common::download_cargo_nextest 1
761 flowey e 11 flowey_lib_common::download_cargo_nextest 2
762 flowey e 11 flowey_lib_common::download_cargo_nextest 3
763 shell: bash
764 - name: Pre-processing cache vars
765 run: |-
766 flowey e 11 flowey_lib_common::cache 0
767 flowey v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
768 flowey v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
769 shell: bash
770 - id: flowey_lib_common__cache__1
771 uses: actions/cache@v5
772 with:
773 key: ${{ env.floweyvar2 }}
774 path: ${{ env.floweyvar3 }}
775 name: 'Restore cache: cargo-nextest'
776 - name: downloading cargo-nextest
777 run: |-
778 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
779 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
780 EOF
781 flowey e 11 flowey_lib_common::cache 2
782 flowey e 11 flowey_lib_common::download_cargo_nextest 4
783 shell: bash
784 - name: report $CARGO_HOME
785 run: flowey e 11 flowey_lib_common::install_rust 3
786 shell: bash
787 - name: installing cargo-nextest
788 run: |-
789 flowey e 11 flowey_lib_common::install_cargo_nextest 0
790 flowey e 11 flowey_lib_hvlite::init_cross_build 2
791 shell: bash
792 - name: cargo build xtask
793 run: |-
794 flowey e 11 flowey_lib_common::run_cargo_build 1
795 flowey e 11 flowey_lib_hvlite::run_cargo_build 2
796 shell: bash
797 - name: split debug symbols
798 run: |-
799 flowey e 11 flowey_lib_hvlite::run_split_debug_info 0
800 flowey e 11 flowey_lib_hvlite::run_cargo_build 3
801 flowey e 11 flowey_lib_hvlite::build_xtask 1
802 shell: bash
803 - name: determine unit test exclusions
804 run: |-
805 flowey e 11 flowey_lib_hvlite::build_nextest_unit_tests 0
806 flowey e 11 flowey_lib_hvlite::init_cross_build 0
807 flowey e 11 flowey_lib_hvlite::run_cargo_nextest_run 0
808 shell: bash
809 - name: generate nextest command
810 run: flowey e 11 flowey_lib_common::gen_cargo_nextest_run_cmd 0
811 shell: bash
812 - name: run 'unit-tests' nextest tests
813 run: |-
814 flowey e 11 flowey_lib_common::run_cargo_nextest_run 0
815 flowey e 11 flowey_lib_common::run_cargo_nextest_run 1
816 flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
817 flowey e 11 flowey_lib_common::publish_test_results 0
818 flowey e 11 flowey_lib_common::publish_test_results 1
819 flowey e 11 flowey_lib_common::publish_test_results 2
820 flowey v 11 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
821 flowey v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
822 shell: bash
823 - id: flowey_lib_common__publish_test_results__3
824 uses: actions/upload-artifact@v7
825 with:
826 name: x64-linux-unit-tests-junit-xml
827 path: ${{ env.floweyvar1 }}
828 name: 'publish test results: x64-linux-unit-tests (JUnit XML)'
829 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
830 - name: report test results to overall pipeline status
831 run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1
832 shell: bash
833 - name: run doctests for x86_64-unknown-linux-gnu
834 run: flowey e 11 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
835 shell: bash
836 - name: 'validate cache entry: cargo-nextest'
837 run: flowey e 11 flowey_lib_common::cache 3
838 shell: bash
839 - name: 'validate cache entry: gh-release-download'
840 run: flowey e 11 flowey_lib_common::cache 7
841 shell: bash
842 job12:
843 name: clippy [x64-linux-musl, misc nostd], unit tests [x64-linux-musl]
844 runs-on:
845 - self-hosted
846 - 1ES.Pool=openvmm-gh-amd-westus3
847 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
848 - JobId=job12-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
849 permissions:
850 contents: read
851 id-token: write
852 needs:
853 - job0
854 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
855 steps:
856 - name: πŸŒΌπŸ“¦ Download artifacts
857 uses: actions/download-artifact@v8
858 with:
859 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
860 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
861 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
862 shell: bash
863 name: πŸŒΌπŸ“¦ Add flowey to PATH
864 - name: πŸŒΌπŸ›« Initialize job
865 run: |
866 AgentTempDirNormal="${{ runner.temp }}"
867 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
868 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
869
870 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
871
872 echo '"debug"' | flowey v 12 'FLOWEY_LOG' update
873 echo "${{ runner.temp }}/work" | flowey v 12 '_internal_WORKING_DIR' --is-raw-string update
874
875 cat <<'EOF' | flowey v 12 'verbose' update
876 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
877 EOF
878 shell: bash
879 - name: add default cargo home to path
880 run: flowey e 12 flowey_lib_common::install_rust 0
881 shell: bash
882 - name: install Rust
883 run: flowey e 12 flowey_lib_common::install_rust 1
884 shell: bash
885 - name: detect active toolchain
886 run: |-
887 flowey e 12 flowey_lib_common::install_rust 2
888 flowey e 12 flowey_lib_common::cfg_cargo_common_flags 0
889 shell: bash
890 - name: check if openvmm needs to be cloned
891 run: |-
892 flowey e 12 flowey_lib_common::git_checkout 0
893 flowey v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6
894 flowey v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
895 shell: bash
896 - id: flowey_lib_common__git_checkout__1
897 uses: actions/checkout@v6
898 with:
899 fetch-depth: '1'
900 path: repo0
901 persist-credentials: ${{ env.floweyvar6 }}
902 name: checkout repo openvmm
903 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
904 - name: report cloned repo directories
905 run: |-
906 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
907 ${{ github.workspace }}
908 EOF
909 flowey e 12 flowey_lib_common::git_checkout 3
910 flowey e 12 flowey_lib_hvlite::git_checkout_openvmm_repo 0
911 flowey e 12 flowey_lib_hvlite::cfg_openvmm_magicpath 0
912 shell: bash
913 - name: checking if packages need to be installed
914 run: flowey e 12 flowey_lib_common::install_dist_pkg 0
915 shell: bash
916 - name: installing packages
917 run: flowey e 12 flowey_lib_common::install_dist_pkg 1
918 shell: bash
919 - name: create gh-release-download cache dir
920 run: flowey e 12 flowey_lib_common::download_gh_release 0
921 shell: bash
922 - name: Pre-processing cache vars
923 run: |-
924 flowey e 12 flowey_lib_common::cache 4
925 flowey v 12 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
926 flowey v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
927 shell: bash
928 - id: flowey_lib_common__cache__5
929 uses: actions/cache@v5
930 with:
931 key: ${{ env.floweyvar4 }}
932 path: ${{ env.floweyvar5 }}
933 name: 'Restore cache: gh-release-download'
934 - name: download artifacts from github releases
935 run: |-
936 flowey v 12 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
937 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
938 EOF
939 flowey e 12 flowey_lib_common::cache 6
940 flowey e 12 flowey_lib_common::download_gh_release 1
941 shell: bash
942 - name: unpack openvmm-deps archive
943 run: flowey e 12 flowey_lib_hvlite::resolve_openvmm_deps 0
944 shell: bash
945 - name: extract X64 sysroot.tar.gz
946 run: flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
947 shell: bash
948 - name: set '-Dwarnings' in .cargo/config.toml
949 run: flowey e 12 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
950 shell: bash
951 - name: unpack protoc
952 run: flowey e 12 flowey_lib_common::resolve_protoc 0
953 shell: bash
954 - name: symlink protoc
955 run: |-
956 flowey e 12 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
957 flowey e 12 flowey_lib_hvlite::init_cross_build 2
958 flowey e 12 flowey_lib_hvlite::init_cross_build 0
959 shell: bash
960 - name: cargo build xtask
961 run: |-
962 flowey e 12 flowey_lib_common::run_cargo_build 0
963 flowey e 12 flowey_lib_hvlite::run_cargo_build 0
964 shell: bash
965 - name: split debug symbols
966 run: |-
967 flowey e 12 flowey_lib_hvlite::run_split_debug_info 1
968 flowey e 12 flowey_lib_hvlite::run_cargo_build 1
969 flowey e 12 flowey_lib_hvlite::build_xtask 0
970 shell: bash
971 - name: determine clippy exclusions
972 run: flowey e 12 flowey_lib_hvlite::_jobs::check_clippy 0
973 shell: bash
974 - name: cargo clippy
975 run: flowey e 12 flowey_lib_common::run_cargo_clippy 0
976 shell: bash
977 - name: cargo clippy
978 run: flowey e 12 flowey_lib_common::run_cargo_clippy 2
979 shell: bash
980 - name: cargo clippy
981 run: flowey e 12 flowey_lib_common::run_cargo_clippy 1
982 shell: bash
983 - name: create cargo-nextest cache dir
984 run: |-
985 flowey e 12 flowey_lib_common::download_cargo_nextest 0
986 flowey e 12 flowey_lib_common::download_cargo_nextest 1
987 flowey e 12 flowey_lib_common::download_cargo_nextest 2
988 flowey e 12 flowey_lib_common::download_cargo_nextest 3
989 shell: bash
990 - name: Pre-processing cache vars
991 run: |-
992 flowey e 12 flowey_lib_common::cache 0
993 flowey v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
994 flowey v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
995 shell: bash
996 - id: flowey_lib_common__cache__1
997 uses: actions/cache@v5
998 with:
999 key: ${{ env.floweyvar2 }}
1000 path: ${{ env.floweyvar3 }}
1001 name: 'Restore cache: cargo-nextest'
1002 - name: downloading cargo-nextest
1003 run: |-
1004 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
1005 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
1006 EOF
1007 flowey e 12 flowey_lib_common::cache 2
1008 flowey e 12 flowey_lib_common::download_cargo_nextest 4
1009 shell: bash
1010 - name: report $CARGO_HOME
1011 run: flowey e 12 flowey_lib_common::install_rust 3
1012 shell: bash
1013 - name: installing cargo-nextest
1014 run: |-
1015 flowey e 12 flowey_lib_common::install_cargo_nextest 0
1016 flowey e 12 flowey_lib_hvlite::init_cross_build 1
1017 shell: bash
1018 - name: cargo build xtask
1019 run: |-
1020 flowey e 12 flowey_lib_common::run_cargo_build 1
1021 flowey e 12 flowey_lib_hvlite::run_cargo_build 2
1022 shell: bash
1023 - name: split debug symbols
1024 run: |-
1025 flowey e 12 flowey_lib_hvlite::run_split_debug_info 0
1026 flowey e 12 flowey_lib_hvlite::run_cargo_build 3
1027 flowey e 12 flowey_lib_hvlite::build_xtask 1
1028 shell: bash
1029 - name: determine unit test exclusions
1030 run: |-
1031 flowey e 12 flowey_lib_hvlite::build_nextest_unit_tests 0
1032 flowey e 12 flowey_lib_hvlite::init_cross_build 3
1033 flowey e 12 flowey_lib_hvlite::run_cargo_nextest_run 0
1034 shell: bash
1035 - name: generate nextest command
1036 run: flowey e 12 flowey_lib_common::gen_cargo_nextest_run_cmd 0
1037 shell: bash
1038 - name: run 'unit-tests' nextest tests
1039 run: |-
1040 flowey e 12 flowey_lib_common::run_cargo_nextest_run 0
1041 flowey e 12 flowey_lib_common::run_cargo_nextest_run 1
1042 flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
1043 flowey e 12 flowey_lib_common::publish_test_results 0
1044 flowey e 12 flowey_lib_common::publish_test_results 1
1045 flowey e 12 flowey_lib_common::publish_test_results 2
1046 flowey v 12 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
1047 flowey v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
1048 shell: bash
1049 - id: flowey_lib_common__publish_test_results__3
1050 uses: actions/upload-artifact@v7
1051 with:
1052 name: x64-linux-musl-unit-tests-junit-xml
1053 path: ${{ env.floweyvar1 }}
1054 name: 'publish test results: x64-linux-musl-unit-tests (JUnit XML)'
1055 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1056 - name: report test results to overall pipeline status
1057 run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1
1058 shell: bash
1059 - name: run doctests for x86_64-unknown-linux-musl
1060 run: flowey e 12 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
1061 shell: bash
1062 - name: 'validate cache entry: cargo-nextest'
1063 run: flowey e 12 flowey_lib_common::cache 3
1064 shell: bash
1065 - name: 'validate cache entry: gh-release-download'
1066 run: flowey e 12 flowey_lib_common::cache 7
1067 shell: bash
1068 job13:
1069 name: clippy [aarch64-windows], unit tests [aarch64-windows]
1070 runs-on:
1071 - self-hosted
1072 - 1ES.Pool=openvmm-gh-arm-westus2
1073 - 1ES.ImageOverride=win-arm64
1074 - JobId=job13-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
1075 permissions:
1076 contents: read
1077 id-token: write
1078 needs:
1079 - job0
1080 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
1081 steps:
1082 - run: |
1083 set -x
1084 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
1085 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
1086 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
1087 . "$HOME/.cargo/env"
1088 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
1089 rustup show
1090 if: runner.os == 'Linux'
1091 name: rustup (Linux)
1092 shell: bash
1093 - run: |
1094 set -x
1095 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
1096 ./rustup-init.exe -y --default-toolchain=1.94.0
1097 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
1098 if: runner.os == 'Windows' && runner.arch == 'X64'
1099 name: rustup (Windows X64)
1100 shell: bash
1101 - run: |
1102 set -x
1103 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
1104 ./rustup-init.exe -y --default-toolchain=1.94.0
1105 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
1106 if: runner.os == 'Windows' && runner.arch == 'ARM64'
1107 name: rustup (Windows ARM64)
1108 shell: bash
1109 - uses: actions/checkout@v6
1110 with:
1111 path: flowey_bootstrap
1112 - name: Build flowey
1113 run: |
1114 set -x
1115 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci
1116 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1117 mkdir -p "$OutDirNormal"
1118 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
1119 mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
1120 working-directory: flowey_bootstrap
1121 shell: bash
1122 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
1123 shell: bash
1124 name: πŸŒΌπŸ“¦ Add flowey to PATH
1125 - name: πŸŒΌπŸ”Ž Self-check YAML
1126 run: |-
1127 ESCAPED_AGENT_TEMPDIR=$(
1128 cat <<'EOF' | sed 's/\\/\\\\/g'
1129 ${{ runner.temp }}
1130 EOF
1131 )
1132 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
1133 shell: bash
1134 - name: πŸŒΌπŸ›« Initialize job
1135 run: |
1136 AgentTempDirNormal="${{ runner.temp }}"
1137 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1138 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
1139
1140 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
1141
1142 echo '"debug"' | flowey.exe v 13 'FLOWEY_LOG' update
1143 echo "${{ runner.temp }}/work" | flowey.exe v 13 '_internal_WORKING_DIR' --is-raw-string update
1144
1145 cat <<'EOF' | flowey.exe v 13 'verbose' update
1146 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
1147 EOF
1148 shell: bash
1149 - name: add default cargo home to path
1150 run: flowey.exe e 13 flowey_lib_common::install_rust 0
1151 shell: bash
1152 - name: install Rust
1153 run: flowey.exe e 13 flowey_lib_common::install_rust 1
1154 shell: bash
1155 - name: detect active toolchain
1156 run: |-
1157 flowey.exe e 13 flowey_lib_common::install_rust 2
1158 flowey.exe e 13 flowey_lib_common::cfg_cargo_common_flags 0
1159 shell: bash
1160 - name: check if openvmm needs to be cloned
1161 run: |-
1162 flowey.exe e 13 flowey_lib_common::git_checkout 0
1163 flowey.exe v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6
1164 flowey.exe v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
1165 shell: bash
1166 - id: flowey_lib_common__git_checkout__1
1167 uses: actions/checkout@v6
1168 with:
1169 fetch-depth: '1'
1170 path: repo0
1171 persist-credentials: ${{ env.floweyvar6 }}
1172 name: checkout repo openvmm
1173 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1174 - name: report cloned repo directories
1175 run: |-
1176 flowey.exe v 13 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
1177 ${{ github.workspace }}
1178 EOF
1179 flowey.exe e 13 flowey_lib_common::git_checkout 3
1180 flowey.exe e 13 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1181 shell: bash
1182 - name: set '-Dwarnings' in .cargo/config.toml
1183 run: flowey.exe e 13 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1184 shell: bash
1185 - name: create gh-release-download cache dir
1186 run: flowey.exe e 13 flowey_lib_common::download_gh_release 0
1187 shell: bash
1188 - name: Pre-processing cache vars
1189 run: |-
1190 flowey.exe e 13 flowey_lib_common::cache 4
1191 flowey.exe v 13 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
1192 flowey.exe v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
1193 shell: bash
1194 - id: flowey_lib_common__cache__5
1195 uses: actions/cache@v5
1196 with:
1197 key: ${{ env.floweyvar4 }}
1198 path: ${{ env.floweyvar5 }}
1199 name: 'Restore cache: gh-release-download'
1200 - name: download artifacts from github releases
1201 run: |-
1202 flowey.exe v 13 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
1203 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
1204 EOF
1205 flowey.exe e 13 flowey_lib_common::cache 6
1206 flowey.exe e 13 flowey_lib_common::download_gh_release 1
1207 shell: bash
1208 - name: unpack protoc
1209 run: |-
1210 flowey.exe e 13 flowey_lib_common::resolve_protoc 0
1211 flowey.exe e 13 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1212 shell: bash
1213 - name: symlink protoc
1214 run: |-
1215 flowey.exe e 13 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1216 flowey.exe e 13 flowey_lib_hvlite::init_cross_build 0
1217 flowey.exe e 13 flowey_lib_hvlite::init_cross_build 2
1218 shell: bash
1219 - name: cargo build xtask
1220 run: |-
1221 flowey.exe e 13 flowey_lib_common::run_cargo_build 0
1222 flowey.exe e 13 flowey_lib_hvlite::run_cargo_build 0
1223 flowey.exe e 13 flowey_lib_hvlite::build_xtask 0
1224 shell: bash
1225 - name: determine clippy exclusions
1226 run: flowey.exe e 13 flowey_lib_hvlite::_jobs::check_clippy 0
1227 shell: bash
1228 - name: cargo clippy
1229 run: flowey.exe e 13 flowey_lib_common::run_cargo_clippy 0
1230 shell: bash
1231 - name: create cargo-nextest cache dir
1232 run: |-
1233 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 0
1234 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 1
1235 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2
1236 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 3
1237 shell: bash
1238 - name: Pre-processing cache vars
1239 run: |-
1240 flowey.exe e 13 flowey_lib_common::cache 0
1241 flowey.exe v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
1242 flowey.exe v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
1243 shell: bash
1244 - id: flowey_lib_common__cache__1
1245 uses: actions/cache@v5
1246 with:
1247 key: ${{ env.floweyvar2 }}
1248 path: ${{ env.floweyvar3 }}
1249 name: 'Restore cache: cargo-nextest'
1250 - name: downloading cargo-nextest
1251 run: |-
1252 flowey.exe v 13 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
1253 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
1254 EOF
1255 flowey.exe e 13 flowey_lib_common::cache 2
1256 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 4
1257 shell: bash
1258 - name: report $CARGO_HOME
1259 run: flowey.exe e 13 flowey_lib_common::install_rust 3
1260 shell: bash
1261 - name: installing cargo-nextest
1262 run: |-
1263 flowey.exe e 13 flowey_lib_common::install_cargo_nextest 0
1264 flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3
1265 shell: bash
1266 - name: cargo build xtask
1267 run: |-
1268 flowey.exe e 13 flowey_lib_common::run_cargo_build 1
1269 flowey.exe e 13 flowey_lib_hvlite::run_cargo_build 1
1270 flowey.exe e 13 flowey_lib_hvlite::build_xtask 1
1271 shell: bash
1272 - name: determine unit test exclusions
1273 run: |-
1274 flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 0
1275 flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1
1276 flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 0
1277 shell: bash
1278 - name: generate nextest command
1279 run: flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 0
1280 shell: bash
1281 - name: run 'unit-tests' nextest tests
1282 run: |-
1283 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 0
1284 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 1
1285 flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
1286 flowey.exe e 13 flowey_lib_common::publish_test_results 0
1287 flowey.exe e 13 flowey_lib_common::publish_test_results 1
1288 flowey.exe e 13 flowey_lib_common::publish_test_results 2
1289 flowey.exe v 13 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
1290 flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
1291 shell: bash
1292 - id: flowey_lib_common__publish_test_results__3
1293 uses: actions/upload-artifact@v7
1294 with:
1295 name: aarch64-windows-unit-tests-junit-xml
1296 path: ${{ env.floweyvar1 }}
1297 name: 'publish test results: aarch64-windows-unit-tests (JUnit XML)'
1298 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1299 - name: report test results to overall pipeline status
1300 run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1
1301 shell: bash
1302 - name: run doctests for aarch64-pc-windows-msvc
1303 run: flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
1304 shell: bash
1305 - name: 'validate cache entry: cargo-nextest'
1306 run: flowey.exe e 13 flowey_lib_common::cache 3
1307 shell: bash
1308 - name: 'validate cache entry: gh-release-download'
1309 run: flowey.exe e 13 flowey_lib_common::cache 7
1310 shell: bash
1311 job14:
1312 name: clippy [aarch64-linux], unit tests [aarch64-linux]
1313 runs-on:
1314 - self-hosted
1315 - 1ES.Pool=openvmm-gh-arm-westus2
1316 - 1ES.ImageOverride=ubuntu2404-arm64
1317 - JobId=job14-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
1318 permissions:
1319 contents: read
1320 id-token: write
1321 needs:
1322 - job0
1323 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
1324 steps:
1325 - run: |
1326 set -x
1327 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
1328 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
1329 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
1330 . "$HOME/.cargo/env"
1331 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
1332 rustup show
1333 if: runner.os == 'Linux'
1334 name: rustup (Linux)
1335 shell: bash
1336 - run: |
1337 set -x
1338 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
1339 ./rustup-init.exe -y --default-toolchain=1.94.0
1340 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
1341 if: runner.os == 'Windows' && runner.arch == 'X64'
1342 name: rustup (Windows X64)
1343 shell: bash
1344 - run: |
1345 set -x
1346 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
1347 ./rustup-init.exe -y --default-toolchain=1.94.0
1348 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
1349 if: runner.os == 'Windows' && runner.arch == 'ARM64'
1350 name: rustup (Windows ARM64)
1351 shell: bash
1352 - uses: actions/checkout@v6
1353 with:
1354 path: flowey_bootstrap
1355 - name: Build flowey
1356 run: |
1357 set -x
1358 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci
1359 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1360 mkdir -p "$OutDirNormal"
1361 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
1362 mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
1363 working-directory: flowey_bootstrap
1364 shell: bash
1365 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
1366 shell: bash
1367 name: πŸŒΌπŸ“¦ Add flowey to PATH
1368 - name: πŸŒΌπŸ”Ž Self-check YAML
1369 run: |-
1370 ESCAPED_AGENT_TEMPDIR=$(
1371 cat <<'EOF' | sed 's/\\/\\\\/g'
1372 ${{ runner.temp }}
1373 EOF
1374 )
1375 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
1376 shell: bash
1377 - name: πŸŒΌπŸ›« Initialize job
1378 run: |
1379 AgentTempDirNormal="${{ runner.temp }}"
1380 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1381 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
1382
1383 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
1384
1385 echo '"debug"' | flowey v 14 'FLOWEY_LOG' update
1386 echo "${{ runner.temp }}/work" | flowey v 14 '_internal_WORKING_DIR' --is-raw-string update
1387
1388 cat <<'EOF' | flowey v 14 'verbose' update
1389 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
1390 EOF
1391 shell: bash
1392 - name: add default cargo home to path
1393 run: flowey e 14 flowey_lib_common::install_rust 0
1394 shell: bash
1395 - name: install Rust
1396 run: flowey e 14 flowey_lib_common::install_rust 1
1397 shell: bash
1398 - name: detect active toolchain
1399 run: |-
1400 flowey e 14 flowey_lib_common::install_rust 2
1401 flowey e 14 flowey_lib_common::cfg_cargo_common_flags 0
1402 shell: bash
1403 - name: checking if packages need to be installed
1404 run: flowey e 14 flowey_lib_common::install_dist_pkg 0
1405 shell: bash
1406 - name: installing packages
1407 run: flowey e 14 flowey_lib_common::install_dist_pkg 1
1408 shell: bash
1409 - name: check if openvmm needs to be cloned
1410 run: |-
1411 flowey e 14 flowey_lib_common::git_checkout 0
1412 flowey v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6
1413 flowey v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
1414 shell: bash
1415 - id: flowey_lib_common__git_checkout__1
1416 uses: actions/checkout@v6
1417 with:
1418 fetch-depth: '1'
1419 path: repo0
1420 persist-credentials: ${{ env.floweyvar6 }}
1421 name: checkout repo openvmm
1422 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1423 - name: report cloned repo directories
1424 run: |-
1425 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
1426 ${{ github.workspace }}
1427 EOF
1428 flowey e 14 flowey_lib_common::git_checkout 3
1429 flowey e 14 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1430 shell: bash
1431 - name: set '-Dwarnings' in .cargo/config.toml
1432 run: flowey e 14 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1433 shell: bash
1434 - name: create gh-release-download cache dir
1435 run: flowey e 14 flowey_lib_common::download_gh_release 0
1436 shell: bash
1437 - name: Pre-processing cache vars
1438 run: |-
1439 flowey e 14 flowey_lib_common::cache 4
1440 flowey v 14 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
1441 flowey v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
1442 shell: bash
1443 - id: flowey_lib_common__cache__5
1444 uses: actions/cache@v5
1445 with:
1446 key: ${{ env.floweyvar4 }}
1447 path: ${{ env.floweyvar5 }}
1448 name: 'Restore cache: gh-release-download'
1449 - name: download artifacts from github releases
1450 run: |-
1451 flowey v 14 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
1452 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
1453 EOF
1454 flowey e 14 flowey_lib_common::cache 6
1455 flowey e 14 flowey_lib_common::download_gh_release 1
1456 shell: bash
1457 - name: unpack protoc
1458 run: |-
1459 flowey e 14 flowey_lib_common::resolve_protoc 0
1460 flowey e 14 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1461 shell: bash
1462 - name: symlink protoc
1463 run: |-
1464 flowey e 14 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1465 flowey e 14 flowey_lib_hvlite::init_cross_build 0
1466 flowey e 14 flowey_lib_hvlite::init_cross_build 2
1467 shell: bash
1468 - name: cargo build xtask
1469 run: |-
1470 flowey e 14 flowey_lib_common::run_cargo_build 0
1471 flowey e 14 flowey_lib_hvlite::run_cargo_build 0
1472 shell: bash
1473 - name: split debug symbols
1474 run: |-
1475 flowey e 14 flowey_lib_hvlite::run_split_debug_info 1
1476 flowey e 14 flowey_lib_hvlite::run_cargo_build 1
1477 flowey e 14 flowey_lib_hvlite::build_xtask 0
1478 shell: bash
1479 - name: determine clippy exclusions
1480 run: flowey e 14 flowey_lib_hvlite::_jobs::check_clippy 0
1481 shell: bash
1482 - name: cargo clippy
1483 run: flowey e 14 flowey_lib_common::run_cargo_clippy 0
1484 shell: bash
1485 - name: create cargo-nextest cache dir
1486 run: |-
1487 flowey e 14 flowey_lib_common::download_cargo_nextest 0
1488 flowey e 14 flowey_lib_common::download_cargo_nextest 1
1489 flowey e 14 flowey_lib_common::download_cargo_nextest 2
1490 flowey e 14 flowey_lib_common::download_cargo_nextest 3
1491 shell: bash
1492 - name: Pre-processing cache vars
1493 run: |-
1494 flowey e 14 flowey_lib_common::cache 0
1495 flowey v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
1496 flowey v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
1497 shell: bash
1498 - id: flowey_lib_common__cache__1
1499 uses: actions/cache@v5
1500 with:
1501 key: ${{ env.floweyvar2 }}
1502 path: ${{ env.floweyvar3 }}
1503 name: 'Restore cache: cargo-nextest'
1504 - name: downloading cargo-nextest
1505 run: |-
1506 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
1507 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
1508 EOF
1509 flowey e 14 flowey_lib_common::cache 2
1510 flowey e 14 flowey_lib_common::download_cargo_nextest 4
1511 shell: bash
1512 - name: report $CARGO_HOME
1513 run: flowey e 14 flowey_lib_common::install_rust 3
1514 shell: bash
1515 - name: installing cargo-nextest
1516 run: |-
1517 flowey e 14 flowey_lib_common::install_cargo_nextest 0
1518 flowey e 14 flowey_lib_hvlite::init_cross_build 3
1519 shell: bash
1520 - name: cargo build xtask
1521 run: |-
1522 flowey e 14 flowey_lib_common::run_cargo_build 1
1523 flowey e 14 flowey_lib_hvlite::run_cargo_build 2
1524 shell: bash
1525 - name: split debug symbols
1526 run: |-
1527 flowey e 14 flowey_lib_hvlite::run_split_debug_info 0
1528 flowey e 14 flowey_lib_hvlite::run_cargo_build 3
1529 flowey e 14 flowey_lib_hvlite::build_xtask 1
1530 shell: bash
1531 - name: determine unit test exclusions
1532 run: |-
1533 flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 0
1534 flowey e 14 flowey_lib_hvlite::init_cross_build 1
1535 flowey e 14 flowey_lib_hvlite::run_cargo_nextest_run 0
1536 shell: bash
1537 - name: generate nextest command
1538 run: flowey e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0
1539 shell: bash
1540 - name: run 'unit-tests' nextest tests
1541 run: |-
1542 flowey e 14 flowey_lib_common::run_cargo_nextest_run 0
1543 flowey e 14 flowey_lib_common::run_cargo_nextest_run 1
1544 flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
1545 flowey e 14 flowey_lib_common::publish_test_results 0
1546 flowey e 14 flowey_lib_common::publish_test_results 1
1547 flowey e 14 flowey_lib_common::publish_test_results 2
1548 flowey v 14 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
1549 flowey v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
1550 shell: bash
1551 - id: flowey_lib_common__publish_test_results__3
1552 uses: actions/upload-artifact@v7
1553 with:
1554 name: aarch64-linux-unit-tests-junit-xml
1555 path: ${{ env.floweyvar1 }}
1556 name: 'publish test results: aarch64-linux-unit-tests (JUnit XML)'
1557 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1558 - name: report test results to overall pipeline status
1559 run: flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1
1560 shell: bash
1561 - name: run doctests for aarch64-unknown-linux-gnu
1562 run: flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
1563 shell: bash
1564 - name: 'validate cache entry: cargo-nextest'
1565 run: flowey e 14 flowey_lib_common::cache 3
1566 shell: bash
1567 - name: 'validate cache entry: gh-release-download'
1568 run: flowey e 14 flowey_lib_common::cache 7
1569 shell: bash
1570 job15:
1571 name: clippy [aarch64-linux-musl, misc nostd], unit tests [aarch64-linux-musl]
1572 runs-on:
1573 - self-hosted
1574 - 1ES.Pool=openvmm-gh-arm-westus2
1575 - 1ES.ImageOverride=ubuntu2404-arm64
1576 - JobId=job15-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
1577 permissions:
1578 contents: read
1579 id-token: write
1580 needs:
1581 - job0
1582 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
1583 steps:
1584 - run: |
1585 set -x
1586 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
1587 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
1588 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
1589 . "$HOME/.cargo/env"
1590 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
1591 rustup show
1592 if: runner.os == 'Linux'
1593 name: rustup (Linux)
1594 shell: bash
1595 - run: |
1596 set -x
1597 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
1598 ./rustup-init.exe -y --default-toolchain=1.94.0
1599 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
1600 if: runner.os == 'Windows' && runner.arch == 'X64'
1601 name: rustup (Windows X64)
1602 shell: bash
1603 - run: |
1604 set -x
1605 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
1606 ./rustup-init.exe -y --default-toolchain=1.94.0
1607 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
1608 if: runner.os == 'Windows' && runner.arch == 'ARM64'
1609 name: rustup (Windows ARM64)
1610 shell: bash
1611 - uses: actions/checkout@v6
1612 with:
1613 path: flowey_bootstrap
1614 - name: Build flowey
1615 run: |
1616 set -x
1617 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-unknown-linux-gnu --profile flowey-ci
1618 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1619 mkdir -p "$OutDirNormal"
1620 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
1621 mv target/aarch64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
1622 working-directory: flowey_bootstrap
1623 shell: bash
1624 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
1625 shell: bash
1626 name: πŸŒΌπŸ“¦ Add flowey to PATH
1627 - name: πŸŒΌπŸ”Ž Self-check YAML
1628 run: |-
1629 ESCAPED_AGENT_TEMPDIR=$(
1630 cat <<'EOF' | sed 's/\\/\\\\/g'
1631 ${{ runner.temp }}
1632 EOF
1633 )
1634 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
1635 shell: bash
1636 - name: πŸŒΌπŸ›« Initialize job
1637 run: |
1638 AgentTempDirNormal="${{ runner.temp }}"
1639 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1640 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
1641
1642 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
1643
1644 echo '"debug"' | flowey v 15 'FLOWEY_LOG' update
1645 echo "${{ runner.temp }}/work" | flowey v 15 '_internal_WORKING_DIR' --is-raw-string update
1646
1647 cat <<'EOF' | flowey v 15 'verbose' update
1648 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
1649 EOF
1650 shell: bash
1651 - name: add default cargo home to path
1652 run: flowey e 15 flowey_lib_common::install_rust 0
1653 shell: bash
1654 - name: install Rust
1655 run: flowey e 15 flowey_lib_common::install_rust 1
1656 shell: bash
1657 - name: detect active toolchain
1658 run: |-
1659 flowey e 15 flowey_lib_common::install_rust 2
1660 flowey e 15 flowey_lib_common::cfg_cargo_common_flags 0
1661 shell: bash
1662 - name: check if openvmm needs to be cloned
1663 run: |-
1664 flowey e 15 flowey_lib_common::git_checkout 0
1665 flowey v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar6
1666 flowey v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
1667 shell: bash
1668 - id: flowey_lib_common__git_checkout__1
1669 uses: actions/checkout@v6
1670 with:
1671 fetch-depth: '1'
1672 path: repo0
1673 persist-credentials: ${{ env.floweyvar6 }}
1674 name: checkout repo openvmm
1675 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1676 - name: report cloned repo directories
1677 run: |-
1678 flowey v 15 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
1679 ${{ github.workspace }}
1680 EOF
1681 flowey e 15 flowey_lib_common::git_checkout 3
1682 flowey e 15 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1683 flowey e 15 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1684 shell: bash
1685 - name: checking if packages need to be installed
1686 run: flowey e 15 flowey_lib_common::install_dist_pkg 0
1687 shell: bash
1688 - name: installing packages
1689 run: flowey e 15 flowey_lib_common::install_dist_pkg 1
1690 shell: bash
1691 - name: create gh-release-download cache dir
1692 run: flowey e 15 flowey_lib_common::download_gh_release 0
1693 shell: bash
1694 - name: Pre-processing cache vars
1695 run: |-
1696 flowey e 15 flowey_lib_common::cache 4
1697 flowey v 15 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
1698 flowey v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
1699 shell: bash
1700 - id: flowey_lib_common__cache__5
1701 uses: actions/cache@v5
1702 with:
1703 key: ${{ env.floweyvar4 }}
1704 path: ${{ env.floweyvar5 }}
1705 name: 'Restore cache: gh-release-download'
1706 - name: download artifacts from github releases
1707 run: |-
1708 flowey v 15 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
1709 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
1710 EOF
1711 flowey e 15 flowey_lib_common::cache 6
1712 flowey e 15 flowey_lib_common::download_gh_release 1
1713 shell: bash
1714 - name: unpack openvmm-deps archive
1715 run: flowey e 15 flowey_lib_hvlite::resolve_openvmm_deps 0
1716 shell: bash
1717 - name: extract Aarch64 sysroot.tar.gz
1718 run: flowey e 15 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
1719 shell: bash
1720 - name: set '-Dwarnings' in .cargo/config.toml
1721 run: flowey e 15 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1722 shell: bash
1723 - name: unpack protoc
1724 run: flowey e 15 flowey_lib_common::resolve_protoc 0
1725 shell: bash
1726 - name: symlink protoc
1727 run: |-
1728 flowey e 15 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1729 flowey e 15 flowey_lib_hvlite::init_cross_build 2
1730 flowey e 15 flowey_lib_hvlite::init_cross_build 0
1731 shell: bash
1732 - name: cargo build xtask
1733 run: |-
1734 flowey e 15 flowey_lib_common::run_cargo_build 0
1735 flowey e 15 flowey_lib_hvlite::run_cargo_build 0
1736 shell: bash
1737 - name: split debug symbols
1738 run: |-
1739 flowey e 15 flowey_lib_hvlite::run_split_debug_info 1
1740 flowey e 15 flowey_lib_hvlite::run_cargo_build 1
1741 flowey e 15 flowey_lib_hvlite::build_xtask 0
1742 shell: bash
1743 - name: determine clippy exclusions
1744 run: flowey e 15 flowey_lib_hvlite::_jobs::check_clippy 0
1745 shell: bash
1746 - name: cargo clippy
1747 run: flowey e 15 flowey_lib_common::run_cargo_clippy 0
1748 shell: bash
1749 - name: cargo clippy
1750 run: flowey e 15 flowey_lib_common::run_cargo_clippy 2
1751 shell: bash
1752 - name: cargo clippy
1753 run: flowey e 15 flowey_lib_common::run_cargo_clippy 1
1754 shell: bash
1755 - name: create cargo-nextest cache dir
1756 run: |-
1757 flowey e 15 flowey_lib_common::download_cargo_nextest 0
1758 flowey e 15 flowey_lib_common::download_cargo_nextest 1
1759 flowey e 15 flowey_lib_common::download_cargo_nextest 2
1760 flowey e 15 flowey_lib_common::download_cargo_nextest 3
1761 shell: bash
1762 - name: Pre-processing cache vars
1763 run: |-
1764 flowey e 15 flowey_lib_common::cache 0
1765 flowey v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
1766 flowey v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
1767 shell: bash
1768 - id: flowey_lib_common__cache__1
1769 uses: actions/cache@v5
1770 with:
1771 key: ${{ env.floweyvar2 }}
1772 path: ${{ env.floweyvar3 }}
1773 name: 'Restore cache: cargo-nextest'
1774 - name: downloading cargo-nextest
1775 run: |-
1776 flowey v 15 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
1777 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
1778 EOF
1779 flowey e 15 flowey_lib_common::cache 2
1780 flowey e 15 flowey_lib_common::download_cargo_nextest 4
1781 shell: bash
1782 - name: report $CARGO_HOME
1783 run: flowey e 15 flowey_lib_common::install_rust 3
1784 shell: bash
1785 - name: installing cargo-nextest
1786 run: |-
1787 flowey e 15 flowey_lib_common::install_cargo_nextest 0
1788 flowey e 15 flowey_lib_hvlite::init_cross_build 1
1789 shell: bash
1790 - name: cargo build xtask
1791 run: |-
1792 flowey e 15 flowey_lib_common::run_cargo_build 1
1793 flowey e 15 flowey_lib_hvlite::run_cargo_build 2
1794 shell: bash
1795 - name: split debug symbols
1796 run: |-
1797 flowey e 15 flowey_lib_hvlite::run_split_debug_info 0
1798 flowey e 15 flowey_lib_hvlite::run_cargo_build 3
1799 flowey e 15 flowey_lib_hvlite::build_xtask 1
1800 shell: bash
1801 - name: determine unit test exclusions
1802 run: |-
1803 flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0
1804 flowey e 15 flowey_lib_hvlite::init_cross_build 3
1805 flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0
1806 shell: bash
1807 - name: generate nextest command
1808 run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0
1809 shell: bash
1810 - name: run 'unit-tests' nextest tests
1811 run: |-
1812 flowey e 15 flowey_lib_common::run_cargo_nextest_run 0
1813 flowey e 15 flowey_lib_common::run_cargo_nextest_run 1
1814 flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
1815 flowey e 15 flowey_lib_common::publish_test_results 0
1816 flowey e 15 flowey_lib_common::publish_test_results 1
1817 flowey e 15 flowey_lib_common::publish_test_results 2
1818 flowey 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
1819 flowey 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
1820 shell: bash
1821 - id: flowey_lib_common__publish_test_results__3
1822 uses: actions/upload-artifact@v7
1823 with:
1824 name: aarch64-linux-musl-unit-tests-junit-xml
1825 path: ${{ env.floweyvar1 }}
1826 name: 'publish test results: aarch64-linux-musl-unit-tests (JUnit XML)'
1827 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1828 - name: report test results to overall pipeline status
1829 run: flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 1
1830 shell: bash
1831 - name: run doctests for aarch64-unknown-linux-musl
1832 run: flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
1833 shell: bash
1834 - name: 'validate cache entry: cargo-nextest'
1835 run: flowey e 15 flowey_lib_common::cache 3
1836 shell: bash
1837 - name: 'validate cache entry: gh-release-download'
1838 run: flowey e 15 flowey_lib_common::cache 7
1839 shell: bash
1840 job16:
1841 name: run vmm-tests [x64-windows-intel]
1842 runs-on:
1843 - self-hosted
1844 - 1ES.Pool=openvmm-gh-intel-westus3
1845 - 1ES.ImageOverride=win-amd64
1846 - JobId=job16-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
1847 permissions:
1848 contents: read
1849 id-token: write
1850 needs:
1851 - job0
1852 - job5
1853 - job7
1854 - job9
1855 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
1856 steps:
1857 - name: πŸŒΌπŸ“¦ Download artifacts
1858 uses: actions/download-artifact@v8
1859 with:
1860 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}'
1861 path: ${{ runner.temp }}/used_artifacts/
1862 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
1863 shell: bash
1864 name: πŸŒΌπŸ“¦ Add flowey to PATH
1865 - name: πŸŒΌπŸ›« Initialize job
1866 run: |
1867 AgentTempDirNormal="${{ runner.temp }}"
1868 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1869 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
1870
1871 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
1872
1873 echo '"debug"' | flowey.exe v 16 'FLOWEY_LOG' update
1874 echo "${{ runner.temp }}/work" | flowey.exe v 16 '_internal_WORKING_DIR' --is-raw-string update
1875
1876 cat <<'EOF' | flowey.exe v 16 'verbose' update
1877 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
1878 EOF
1879 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 16 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
1880 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
1881 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
1882 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 16 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
1883 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 16 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
1884 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 16 'artifact_use_from_x64-tmks' --is-raw-string update
1885 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 16 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
1886 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 16 'artifact_use_from_x64-windows-pipette' --is-raw-string update
1887 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 16 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
1888 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 16 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
1889 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 16 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
1890 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 16 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
1891 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 16 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
1892 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 16 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
1893 shell: bash
1894 - name: create cargo-nextest cache dir
1895 run: |-
1896 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 0
1897 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1
1898 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2
1899 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 3
1900 shell: bash
1901 - name: Pre-processing cache vars
1902 run: |-
1903 flowey.exe e 16 flowey_lib_common::cache 0
1904 flowey.exe v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
1905 flowey.exe v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
1906 shell: bash
1907 - id: flowey_lib_common__cache__1
1908 uses: actions/cache@v5
1909 with:
1910 key: ${{ env.floweyvar4 }}
1911 path: ${{ env.floweyvar5 }}
1912 name: 'Restore cache: cargo-nextest'
1913 - name: downloading cargo-nextest
1914 run: |-
1915 flowey.exe v 16 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
1916 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
1917 EOF
1918 flowey.exe e 16 flowey_lib_common::cache 2
1919 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 4
1920 shell: bash
1921 - name: check if openvmm needs to be cloned
1922 run: |-
1923 flowey.exe e 16 flowey_lib_common::git_checkout 0
1924 flowey.exe v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
1925 flowey.exe v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
1926 shell: bash
1927 - id: flowey_lib_common__git_checkout__1
1928 uses: actions/checkout@v6
1929 with:
1930 fetch-depth: '1'
1931 path: repo0
1932 persist-credentials: ${{ env.floweyvar3 }}
1933 name: checkout repo openvmm
1934 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
1935 - name: report cloned repo directories
1936 run: |-
1937 flowey.exe v 16 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
1938 ${{ github.workspace }}
1939 EOF
1940 flowey.exe e 16 flowey_lib_common::git_checkout 3
1941 flowey.exe e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1942 flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 0
1943 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 5
1944 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 6
1945 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 1
1946 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 0
1947 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 9
1948 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 2
1949 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 4
1950 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 11
1951 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 10
1952 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 3
1953 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 8
1954 shell: bash
1955 - name: creating new test content dir
1956 run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
1957 shell: bash
1958 - name: resolve OpenHCL igvm artifact
1959 run: flowey.exe e 16 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
1960 shell: bash
1961 - name: create gh-release-download cache dir
1962 run: flowey.exe e 16 flowey_lib_common::download_gh_release 0
1963 shell: bash
1964 - name: Pre-processing cache vars
1965 run: |-
1966 flowey.exe e 16 flowey_lib_common::cache 8
1967 flowey.exe v 16 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
1968 flowey.exe v 16 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
1969 shell: bash
1970 - id: flowey_lib_common__cache__9
1971 uses: actions/cache@v5
1972 with:
1973 key: ${{ env.floweyvar8 }}
1974 path: ${{ env.floweyvar9 }}
1975 name: 'Restore cache: gh-release-download'
1976 - name: download artifacts from github releases
1977 run: |-
1978 flowey.exe v 16 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
1979 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
1980 EOF
1981 flowey.exe e 16 flowey_lib_common::cache 10
1982 flowey.exe e 16 flowey_lib_common::download_gh_release 1
1983 shell: bash
1984 - name: extract azcopy from archive
1985 run: flowey.exe e 16 flowey_lib_common::download_azcopy 0
1986 shell: bash
1987 - name: calculating required VMM tests disk images
1988 run: flowey.exe e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
1989 shell: bash
1990 - name: downloading VMM test disk images
1991 run: |-
1992 flowey.exe e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
1993 flowey.exe e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
1994 shell: bash
1995 - name: create gh cache dir
1996 run: flowey.exe e 16 flowey_lib_common::download_gh_cli 0
1997 shell: bash
1998 - name: Pre-processing cache vars
1999 run: |-
2000 flowey.exe e 16 flowey_lib_common::cache 4
2001 flowey.exe v 16 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
2002 flowey.exe v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
2003 shell: bash
2004 - id: flowey_lib_common__cache__5
2005 uses: actions/cache@v5
2006 with:
2007 key: ${{ env.floweyvar6 }}
2008 path: ${{ env.floweyvar7 }}
2009 name: 'Restore cache: gh-cli'
2010 - name: installing gh
2011 run: |-
2012 flowey.exe v 16 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
2013 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
2014 EOF
2015 flowey.exe e 16 flowey_lib_common::cache 6
2016 flowey.exe e 16 flowey_lib_common::download_gh_cli 1
2017 flowey.exe v 16 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
2018 ${{ github.token }}
2019 EOF
2020 shell: bash
2021 - name: setup gh cli
2022 run: flowey.exe e 16 flowey_lib_common::use_gh_cli 0
2023 shell: bash
2024 - name: get latest completed action id
2025 run: flowey.exe e 16 flowey_lib_common::gh_latest_completed_workflow_id 0
2026 shell: bash
2027 - name: download artifacts from github actions run
2028 run: flowey.exe e 16 flowey_lib_common::download_gh_artifact 0
2029 shell: bash
2030 - name: write to directory variables
2031 run: flowey.exe e 16 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
2032 shell: bash
2033 - name: unpack openvmm-deps archive
2034 run: flowey.exe e 16 flowey_lib_hvlite::resolve_openvmm_deps 0
2035 shell: bash
2036 - name: unpack mu_msvm package (x64)
2037 run: flowey.exe e 16 flowey_lib_hvlite::download_uefi_mu_msvm 0
2038 shell: bash
2039 - name: setting up vmm_tests env
2040 run: |-
2041 flowey.exe e 16 flowey_lib_hvlite::init_vmm_tests_env 0
2042 flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 1
2043 flowey.exe e 16 flowey_core::pipeline::artifact::resolve 12
2044 flowey.exe e 16 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
2045 shell: bash
2046 - name: generate nextest command
2047 run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0
2048 shell: bash
2049 - name: install vmm tests deps (windows)
2050 run: flowey.exe e 16 flowey_lib_hvlite::install_vmm_tests_deps 0
2051 shell: bash
2052 - name: starting test_igvm_agent_rpc_server
2053 run: flowey.exe e 16 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
2054 shell: bash
2055 - name: run 'vmm_tests' nextest tests
2056 run: |-
2057 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 0
2058 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 1
2059 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
2060 shell: bash
2061 - name: stopping test_igvm_agent_rpc_server
2062 run: |-
2063 flowey.exe e 16 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
2064 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
2065 flowey.exe e 16 flowey_lib_common::publish_test_results 4
2066 flowey.exe e 16 flowey_lib_common::publish_test_results 5
2067 flowey.exe v 16 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
2068 flowey.exe v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
2069 shell: bash
2070 - id: flowey_lib_common__publish_test_results__6
2071 uses: actions/upload-artifact@v7
2072 with:
2073 name: x64-windows-intel-vmm-tests-logs
2074 path: ${{ env.floweyvar2 }}
2075 name: 'publish test results: x64-windows-intel-vmm-tests (logs)'
2076 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2077 - name: πŸ¦€ flowey rust steps
2078 run: |-
2079 flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
2080 flowey.exe e 16 flowey_lib_common::publish_test_results 0
2081 flowey.exe e 16 flowey_lib_common::publish_test_results 1
2082 flowey.exe e 16 flowey_lib_common::publish_test_results 2
2083 flowey.exe v 16 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
2084 flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2085 shell: bash
2086 - id: flowey_lib_common__publish_test_results__3
2087 uses: actions/upload-artifact@v7
2088 with:
2089 name: x64-windows-intel-vmm-tests-junit-xml
2090 path: ${{ env.floweyvar1 }}
2091 name: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)'
2092 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2093 - name: report test results to overall pipeline status
2094 run: flowey.exe e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
2095 shell: bash
2096 - name: 'validate cache entry: cargo-nextest'
2097 run: flowey.exe e 16 flowey_lib_common::cache 3
2098 shell: bash
2099 - name: 'validate cache entry: gh-cli'
2100 run: flowey.exe e 16 flowey_lib_common::cache 7
2101 shell: bash
2102 - name: 'validate cache entry: gh-release-download'
2103 run: flowey.exe e 16 flowey_lib_common::cache 11
2104 shell: bash
2105 job17:
2106 name: run vmm-tests [x64-windows-intel-tdx]
2107 runs-on:
2108 - self-hosted
2109 - Windows
2110 - X64
2111 - TDX
2112 - Baremetal
2113 permissions:
2114 contents: read
2115 id-token: write
2116 needs:
2117 - job0
2118 - job5
2119 - job7
2120 - job9
2121 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
2122 steps:
2123 - name: πŸŒΌπŸ“¦ Download artifacts
2124 uses: actions/download-artifact@v8
2125 with:
2126 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}'
2127 path: ${{ runner.temp }}/used_artifacts/
2128 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
2129 shell: bash
2130 name: πŸŒΌπŸ“¦ Add flowey to PATH
2131 - name: πŸŒΌπŸ›« Initialize job
2132 run: |
2133 AgentTempDirNormal="${{ runner.temp }}"
2134 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2135 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
2136
2137 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
2138
2139 echo '"debug"' | flowey.exe v 17 'FLOWEY_LOG' update
2140 echo "${{ runner.temp }}/work" | flowey.exe v 17 '_internal_WORKING_DIR' --is-raw-string update
2141
2142 cat <<'EOF' | flowey.exe v 17 'verbose' update
2143 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
2144 EOF
2145 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
2146 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
2147 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
2148 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 17 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
2149 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 17 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
2150 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 17 'artifact_use_from_x64-tmks' --is-raw-string update
2151 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 17 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
2152 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 17 'artifact_use_from_x64-windows-pipette' --is-raw-string update
2153 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 17 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
2154 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 17 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
2155 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 17 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
2156 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 17 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
2157 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 17 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
2158 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 17 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
2159 shell: bash
2160 - name: create cargo-nextest cache dir
2161 run: |-
2162 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 0
2163 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 1
2164 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 2
2165 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 3
2166 shell: bash
2167 - name: Pre-processing cache vars
2168 run: |-
2169 flowey.exe e 17 flowey_lib_common::cache 0
2170 flowey.exe v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
2171 flowey.exe v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
2172 shell: bash
2173 - id: flowey_lib_common__cache__1
2174 uses: actions/cache@v5
2175 with:
2176 key: ${{ env.floweyvar4 }}
2177 path: ${{ env.floweyvar5 }}
2178 name: 'Restore cache: cargo-nextest'
2179 - name: downloading cargo-nextest
2180 run: |-
2181 flowey.exe v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
2182 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
2183 EOF
2184 flowey.exe e 17 flowey_lib_common::cache 2
2185 flowey.exe e 17 flowey_lib_common::download_cargo_nextest 4
2186 shell: bash
2187 - name: check if openvmm needs to be cloned
2188 run: |-
2189 flowey.exe e 17 flowey_lib_common::git_checkout 0
2190 flowey.exe v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
2191 flowey.exe v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
2192 shell: bash
2193 - id: flowey_lib_common__git_checkout__1
2194 uses: actions/checkout@v6
2195 with:
2196 fetch-depth: '1'
2197 path: repo0
2198 persist-credentials: ${{ env.floweyvar3 }}
2199 name: checkout repo openvmm
2200 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2201 - name: report cloned repo directories
2202 run: |-
2203 flowey.exe v 17 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
2204 ${{ github.workspace }}
2205 EOF
2206 flowey.exe e 17 flowey_lib_common::git_checkout 3
2207 flowey.exe e 17 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2208 flowey.exe e 17 flowey_lib_hvlite::run_cargo_nextest_run 0
2209 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 5
2210 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 6
2211 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 1
2212 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 0
2213 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 9
2214 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 2
2215 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 4
2216 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 11
2217 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 10
2218 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 3
2219 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 8
2220 shell: bash
2221 - name: creating new test content dir
2222 run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
2223 shell: bash
2224 - name: resolve OpenHCL igvm artifact
2225 run: flowey.exe e 17 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
2226 shell: bash
2227 - name: create gh-release-download cache dir
2228 run: flowey.exe e 17 flowey_lib_common::download_gh_release 0
2229 shell: bash
2230 - name: Pre-processing cache vars
2231 run: |-
2232 flowey.exe e 17 flowey_lib_common::cache 8
2233 flowey.exe v 17 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
2234 flowey.exe v 17 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
2235 shell: bash
2236 - id: flowey_lib_common__cache__9
2237 uses: actions/cache@v5
2238 with:
2239 key: ${{ env.floweyvar8 }}
2240 path: ${{ env.floweyvar9 }}
2241 name: 'Restore cache: gh-release-download'
2242 - name: download artifacts from github releases
2243 run: |-
2244 flowey.exe v 17 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
2245 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
2246 EOF
2247 flowey.exe e 17 flowey_lib_common::cache 10
2248 flowey.exe e 17 flowey_lib_common::download_gh_release 1
2249 shell: bash
2250 - name: extract azcopy from archive
2251 run: flowey.exe e 17 flowey_lib_common::download_azcopy 0
2252 shell: bash
2253 - name: calculating required VMM tests disk images
2254 run: flowey.exe e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
2255 shell: bash
2256 - name: downloading VMM test disk images
2257 run: |-
2258 flowey.exe e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
2259 flowey.exe e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
2260 shell: bash
2261 - name: create gh cache dir
2262 run: flowey.exe e 17 flowey_lib_common::download_gh_cli 0
2263 shell: bash
2264 - name: Pre-processing cache vars
2265 run: |-
2266 flowey.exe e 17 flowey_lib_common::cache 4
2267 flowey.exe v 17 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
2268 flowey.exe v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
2269 shell: bash
2270 - id: flowey_lib_common__cache__5
2271 uses: actions/cache@v5
2272 with:
2273 key: ${{ env.floweyvar6 }}
2274 path: ${{ env.floweyvar7 }}
2275 name: 'Restore cache: gh-cli'
2276 - name: installing gh
2277 run: |-
2278 flowey.exe v 17 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
2279 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
2280 EOF
2281 flowey.exe e 17 flowey_lib_common::cache 6
2282 flowey.exe e 17 flowey_lib_common::download_gh_cli 1
2283 flowey.exe v 17 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
2284 ${{ github.token }}
2285 EOF
2286 shell: bash
2287 - name: setup gh cli
2288 run: flowey.exe e 17 flowey_lib_common::use_gh_cli 0
2289 shell: bash
2290 - name: get latest completed action id
2291 run: flowey.exe e 17 flowey_lib_common::gh_latest_completed_workflow_id 0
2292 shell: bash
2293 - name: download artifacts from github actions run
2294 run: flowey.exe e 17 flowey_lib_common::download_gh_artifact 0
2295 shell: bash
2296 - name: write to directory variables
2297 run: flowey.exe e 17 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
2298 shell: bash
2299 - name: unpack openvmm-deps archive
2300 run: flowey.exe e 17 flowey_lib_hvlite::resolve_openvmm_deps 0
2301 shell: bash
2302 - name: unpack mu_msvm package (x64)
2303 run: flowey.exe e 17 flowey_lib_hvlite::download_uefi_mu_msvm 0
2304 shell: bash
2305 - name: setting up vmm_tests env
2306 run: |-
2307 flowey.exe e 17 flowey_lib_hvlite::init_vmm_tests_env 0
2308 flowey.exe e 17 flowey_lib_hvlite::run_cargo_nextest_run 1
2309 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 12
2310 flowey.exe e 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
2311 shell: bash
2312 - name: generate nextest command
2313 run: flowey.exe e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0
2314 shell: bash
2315 - name: install vmm tests deps (windows)
2316 run: flowey.exe e 17 flowey_lib_hvlite::install_vmm_tests_deps 0
2317 shell: bash
2318 - name: starting test_igvm_agent_rpc_server
2319 run: |-
2320 flowey.exe e 17 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
2321 flowey.exe e 17 flowey_core::pipeline::artifact::resolve 7
2322 shell: bash
2323 - name: running vmm_test prep_steps
2324 run: flowey.exe e 17 flowey_lib_hvlite::run_prep_steps 0
2325 shell: bash
2326 - name: run 'vmm_tests' nextest tests
2327 run: |-
2328 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 0
2329 flowey.exe e 17 flowey_lib_common::run_cargo_nextest_run 1
2330 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
2331 shell: bash
2332 - name: stopping test_igvm_agent_rpc_server
2333 run: |-
2334 flowey.exe e 17 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
2335 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
2336 flowey.exe e 17 flowey_lib_common::publish_test_results 4
2337 flowey.exe e 17 flowey_lib_common::publish_test_results 5
2338 flowey.exe v 17 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
2339 flowey.exe v 17 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
2340 shell: bash
2341 - id: flowey_lib_common__publish_test_results__6
2342 uses: actions/upload-artifact@v7
2343 with:
2344 name: x64-windows-intel-tdx-vmm-tests-logs
2345 path: ${{ env.floweyvar2 }}
2346 name: 'publish test results: x64-windows-intel-tdx-vmm-tests (logs)'
2347 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2348 - name: πŸ¦€ flowey rust steps
2349 run: |-
2350 flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
2351 flowey.exe e 17 flowey_lib_common::publish_test_results 0
2352 flowey.exe e 17 flowey_lib_common::publish_test_results 1
2353 flowey.exe e 17 flowey_lib_common::publish_test_results 2
2354 flowey.exe v 17 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
2355 flowey.exe v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2356 shell: bash
2357 - id: flowey_lib_common__publish_test_results__3
2358 uses: actions/upload-artifact@v7
2359 with:
2360 name: x64-windows-intel-tdx-vmm-tests-junit-xml
2361 path: ${{ env.floweyvar1 }}
2362 name: 'publish test results: x64-windows-intel-tdx-vmm-tests (JUnit XML)'
2363 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2364 - name: report test results to overall pipeline status
2365 run: flowey.exe e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
2366 shell: bash
2367 - name: 'validate cache entry: cargo-nextest'
2368 run: flowey.exe e 17 flowey_lib_common::cache 3
2369 shell: bash
2370 - name: 'validate cache entry: gh-cli'
2371 run: flowey.exe e 17 flowey_lib_common::cache 7
2372 shell: bash
2373 - name: 'validate cache entry: gh-release-download'
2374 run: flowey.exe e 17 flowey_lib_common::cache 11
2375 shell: bash
2376 job18:
2377 name: run vmm-tests [x64-windows-amd]
2378 runs-on:
2379 - self-hosted
2380 - 1ES.Pool=openvmm-gh-amd-westus3
2381 - 1ES.ImageOverride=win-amd64
2382 - JobId=job18-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
2383 permissions:
2384 contents: read
2385 id-token: write
2386 needs:
2387 - job0
2388 - job5
2389 - job7
2390 - job9
2391 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
2392 steps:
2393 - name: πŸŒΌπŸ“¦ Download artifacts
2394 uses: actions/download-artifact@v8
2395 with:
2396 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}'
2397 path: ${{ runner.temp }}/used_artifacts/
2398 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
2399 shell: bash
2400 name: πŸŒΌπŸ“¦ Add flowey to PATH
2401 - name: πŸŒΌπŸ›« Initialize job
2402 run: |
2403 AgentTempDirNormal="${{ runner.temp }}"
2404 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2405 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
2406
2407 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
2408
2409 echo '"debug"' | flowey.exe v 18 'FLOWEY_LOG' update
2410 echo "${{ runner.temp }}/work" | flowey.exe v 18 '_internal_WORKING_DIR' --is-raw-string update
2411
2412 cat <<'EOF' | flowey.exe v 18 'verbose' update
2413 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
2414 EOF
2415 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 18 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
2416 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 18 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
2417 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
2418 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
2419 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 18 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
2420 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 18 'artifact_use_from_x64-tmks' --is-raw-string update
2421 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 18 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
2422 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 18 'artifact_use_from_x64-windows-pipette' --is-raw-string update
2423 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 18 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
2424 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 18 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
2425 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 18 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
2426 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 18 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
2427 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 18 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
2428 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
2429 shell: bash
2430 - name: create cargo-nextest cache dir
2431 run: |-
2432 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0
2433 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1
2434 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2
2435 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3
2436 shell: bash
2437 - name: Pre-processing cache vars
2438 run: |-
2439 flowey.exe e 18 flowey_lib_common::cache 0
2440 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
2441 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
2442 shell: bash
2443 - id: flowey_lib_common__cache__1
2444 uses: actions/cache@v5
2445 with:
2446 key: ${{ env.floweyvar4 }}
2447 path: ${{ env.floweyvar5 }}
2448 name: 'Restore cache: cargo-nextest'
2449 - name: downloading cargo-nextest
2450 run: |-
2451 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
2452 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
2453 EOF
2454 flowey.exe e 18 flowey_lib_common::cache 2
2455 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 4
2456 shell: bash
2457 - name: check if openvmm needs to be cloned
2458 run: |-
2459 flowey.exe e 18 flowey_lib_common::git_checkout 0
2460 flowey.exe v 18 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
2461 flowey.exe v 18 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
2462 shell: bash
2463 - id: flowey_lib_common__git_checkout__1
2464 uses: actions/checkout@v6
2465 with:
2466 fetch-depth: '1'
2467 path: repo0
2468 persist-credentials: ${{ env.floweyvar3 }}
2469 name: checkout repo openvmm
2470 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2471 - name: report cloned repo directories
2472 run: |-
2473 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
2474 ${{ github.workspace }}
2475 EOF
2476 flowey.exe e 18 flowey_lib_common::git_checkout 3
2477 flowey.exe e 18 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2478 flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 0
2479 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 5
2480 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 6
2481 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 1
2482 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 0
2483 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 9
2484 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 2
2485 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 4
2486 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 11
2487 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 10
2488 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 3
2489 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 8
2490 shell: bash
2491 - name: creating new test content dir
2492 run: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
2493 shell: bash
2494 - name: resolve OpenHCL igvm artifact
2495 run: flowey.exe e 18 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
2496 shell: bash
2497 - name: create gh-release-download cache dir
2498 run: flowey.exe e 18 flowey_lib_common::download_gh_release 0
2499 shell: bash
2500 - name: Pre-processing cache vars
2501 run: |-
2502 flowey.exe e 18 flowey_lib_common::cache 8
2503 flowey.exe v 18 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
2504 flowey.exe v 18 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
2505 shell: bash
2506 - id: flowey_lib_common__cache__9
2507 uses: actions/cache@v5
2508 with:
2509 key: ${{ env.floweyvar8 }}
2510 path: ${{ env.floweyvar9 }}
2511 name: 'Restore cache: gh-release-download'
2512 - name: download artifacts from github releases
2513 run: |-
2514 flowey.exe v 18 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
2515 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
2516 EOF
2517 flowey.exe e 18 flowey_lib_common::cache 10
2518 flowey.exe e 18 flowey_lib_common::download_gh_release 1
2519 shell: bash
2520 - name: extract azcopy from archive
2521 run: flowey.exe e 18 flowey_lib_common::download_azcopy 0
2522 shell: bash
2523 - name: calculating required VMM tests disk images
2524 run: flowey.exe e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
2525 shell: bash
2526 - name: downloading VMM test disk images
2527 run: |-
2528 flowey.exe e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
2529 flowey.exe e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
2530 shell: bash
2531 - name: create gh cache dir
2532 run: flowey.exe e 18 flowey_lib_common::download_gh_cli 0
2533 shell: bash
2534 - name: Pre-processing cache vars
2535 run: |-
2536 flowey.exe e 18 flowey_lib_common::cache 4
2537 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
2538 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
2539 shell: bash
2540 - id: flowey_lib_common__cache__5
2541 uses: actions/cache@v5
2542 with:
2543 key: ${{ env.floweyvar6 }}
2544 path: ${{ env.floweyvar7 }}
2545 name: 'Restore cache: gh-cli'
2546 - name: installing gh
2547 run: |-
2548 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
2549 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
2550 EOF
2551 flowey.exe e 18 flowey_lib_common::cache 6
2552 flowey.exe e 18 flowey_lib_common::download_gh_cli 1
2553 flowey.exe v 18 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
2554 ${{ github.token }}
2555 EOF
2556 shell: bash
2557 - name: setup gh cli
2558 run: flowey.exe e 18 flowey_lib_common::use_gh_cli 0
2559 shell: bash
2560 - name: get latest completed action id
2561 run: flowey.exe e 18 flowey_lib_common::gh_latest_completed_workflow_id 0
2562 shell: bash
2563 - name: download artifacts from github actions run
2564 run: flowey.exe e 18 flowey_lib_common::download_gh_artifact 0
2565 shell: bash
2566 - name: write to directory variables
2567 run: flowey.exe e 18 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
2568 shell: bash
2569 - name: unpack openvmm-deps archive
2570 run: flowey.exe e 18 flowey_lib_hvlite::resolve_openvmm_deps 0
2571 shell: bash
2572 - name: unpack mu_msvm package (x64)
2573 run: flowey.exe e 18 flowey_lib_hvlite::download_uefi_mu_msvm 0
2574 shell: bash
2575 - name: setting up vmm_tests env
2576 run: |-
2577 flowey.exe e 18 flowey_lib_hvlite::init_vmm_tests_env 0
2578 flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 1
2579 flowey.exe e 18 flowey_core::pipeline::artifact::resolve 12
2580 flowey.exe e 18 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
2581 shell: bash
2582 - name: generate nextest command
2583 run: flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0
2584 shell: bash
2585 - name: install vmm tests deps (windows)
2586 run: flowey.exe e 18 flowey_lib_hvlite::install_vmm_tests_deps 0
2587 shell: bash
2588 - name: starting test_igvm_agent_rpc_server
2589 run: flowey.exe e 18 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
2590 shell: bash
2591 - name: run 'vmm_tests' nextest tests
2592 run: |-
2593 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 0
2594 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 1
2595 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
2596 shell: bash
2597 - name: stopping test_igvm_agent_rpc_server
2598 run: |-
2599 flowey.exe e 18 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
2600 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
2601 flowey.exe e 18 flowey_lib_common::publish_test_results 4
2602 flowey.exe e 18 flowey_lib_common::publish_test_results 5
2603 flowey.exe v 18 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
2604 flowey.exe v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
2605 shell: bash
2606 - id: flowey_lib_common__publish_test_results__6
2607 uses: actions/upload-artifact@v7
2608 with:
2609 name: x64-windows-amd-vmm-tests-logs
2610 path: ${{ env.floweyvar2 }}
2611 name: 'publish test results: x64-windows-amd-vmm-tests (logs)'
2612 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2613 - name: πŸ¦€ flowey rust steps
2614 run: |-
2615 flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
2616 flowey.exe e 18 flowey_lib_common::publish_test_results 0
2617 flowey.exe e 18 flowey_lib_common::publish_test_results 1
2618 flowey.exe e 18 flowey_lib_common::publish_test_results 2
2619 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
2620 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
2621 shell: bash
2622 - id: flowey_lib_common__publish_test_results__3
2623 uses: actions/upload-artifact@v7
2624 with:
2625 name: x64-windows-amd-vmm-tests-junit-xml
2626 path: ${{ env.floweyvar1 }}
2627 name: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)'
2628 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2629 - name: report test results to overall pipeline status
2630 run: flowey.exe e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
2631 shell: bash
2632 - name: 'validate cache entry: cargo-nextest'
2633 run: flowey.exe e 18 flowey_lib_common::cache 3
2634 shell: bash
2635 - name: 'validate cache entry: gh-cli'
2636 run: flowey.exe e 18 flowey_lib_common::cache 7
2637 shell: bash
2638 - name: 'validate cache entry: gh-release-download'
2639 run: flowey.exe e 18 flowey_lib_common::cache 11
2640 shell: bash
2641 job19:
2642 name: run vmm-tests [x64-windows-amd-snp]
2643 runs-on:
2644 - self-hosted
2645 - Windows
2646 - X64
2647 - SNP
2648 - Baremetal
2649 permissions:
2650 contents: read
2651 id-token: write
2652 needs:
2653 - job0
2654 - job5
2655 - job7
2656 - job9
2657 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
2658 steps:
2659 - name: πŸŒΌπŸ“¦ Download artifacts
2660 uses: actions/download-artifact@v8
2661 with:
2662 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}'
2663 path: ${{ runner.temp }}/used_artifacts/
2664 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
2665 shell: bash
2666 name: πŸŒΌπŸ“¦ Add flowey to PATH
2667 - name: πŸŒΌπŸ›« Initialize job
2668 run: |
2669 AgentTempDirNormal="${{ runner.temp }}"
2670 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2671 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
2672
2673 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
2674
2675 echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update
2676 echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update
2677
2678 cat <<'EOF' | flowey.exe v 19 'verbose' update
2679 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
2680 EOF
2681 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 19 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
2682 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
2683 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
2684 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
2685 echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm" | flowey.exe v 19 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
2686 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 19 'artifact_use_from_x64-tmks' --is-raw-string update
2687 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 19 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
2688 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 19 'artifact_use_from_x64-windows-pipette' --is-raw-string update
2689 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 19 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
2690 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 19 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
2691 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 19 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
2692 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 19 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
2693 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
2694 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
2695 shell: bash
2696 - name: create cargo-nextest cache dir
2697 run: |-
2698 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0
2699 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1
2700 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2
2701 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3
2702 shell: bash
2703 - name: Pre-processing cache vars
2704 run: |-
2705 flowey.exe e 19 flowey_lib_common::cache 0
2706 flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
2707 flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
2708 shell: bash
2709 - id: flowey_lib_common__cache__1
2710 uses: actions/cache@v5
2711 with:
2712 key: ${{ env.floweyvar4 }}
2713 path: ${{ env.floweyvar5 }}
2714 name: 'Restore cache: cargo-nextest'
2715 - name: downloading cargo-nextest
2716 run: |-
2717 flowey.exe v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
2718 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
2719 EOF
2720 flowey.exe e 19 flowey_lib_common::cache 2
2721 flowey.exe e 19 flowey_lib_common::download_cargo_nextest 4
2722 shell: bash
2723 - name: check if openvmm needs to be cloned
2724 run: |-
2725 flowey.exe e 19 flowey_lib_common::git_checkout 0
2726 flowey.exe v 19 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
2727 flowey.exe v 19 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
2728 shell: bash
2729 - id: flowey_lib_common__git_checkout__1
2730 uses: actions/checkout@v6
2731 with:
2732 fetch-depth: '1'
2733 path: repo0
2734 persist-credentials: ${{ env.floweyvar3 }}
2735 name: checkout repo openvmm
2736 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2737 - name: report cloned repo directories
2738 run: |-
2739 flowey.exe v 19 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
2740 ${{ github.workspace }}
2741 EOF
2742 flowey.exe e 19 flowey_lib_common::git_checkout 3
2743 flowey.exe e 19 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2744 flowey.exe e 19 flowey_lib_hvlite::run_cargo_nextest_run 0
2745 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 5
2746 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 6
2747 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 1
2748 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 0
2749 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 9
2750 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 2
2751 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 4
2752 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 11
2753 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 10
2754 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 3
2755 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 8
2756 shell: bash
2757 - name: creating new test content dir
2758 run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
2759 shell: bash
2760 - name: resolve OpenHCL igvm artifact
2761 run: flowey.exe e 19 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
2762 shell: bash
2763 - name: create gh-release-download cache dir
2764 run: flowey.exe e 19 flowey_lib_common::download_gh_release 0
2765 shell: bash
2766 - name: Pre-processing cache vars
2767 run: |-
2768 flowey.exe e 19 flowey_lib_common::cache 8
2769 flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
2770 flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
2771 shell: bash
2772 - id: flowey_lib_common__cache__9
2773 uses: actions/cache@v5
2774 with:
2775 key: ${{ env.floweyvar8 }}
2776 path: ${{ env.floweyvar9 }}
2777 name: 'Restore cache: gh-release-download'
2778 - name: download artifacts from github releases
2779 run: |-
2780 flowey.exe v 19 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
2781 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
2782 EOF
2783 flowey.exe e 19 flowey_lib_common::cache 10
2784 flowey.exe e 19 flowey_lib_common::download_gh_release 1
2785 shell: bash
2786 - name: extract azcopy from archive
2787 run: flowey.exe e 19 flowey_lib_common::download_azcopy 0
2788 shell: bash
2789 - name: calculating required VMM tests disk images
2790 run: flowey.exe e 19 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
2791 shell: bash
2792 - name: downloading VMM test disk images
2793 run: |-
2794 flowey.exe e 19 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
2795 flowey.exe e 19 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
2796 shell: bash
2797 - name: create gh cache dir
2798 run: flowey.exe e 19 flowey_lib_common::download_gh_cli 0
2799 shell: bash
2800 - name: Pre-processing cache vars
2801 run: |-
2802 flowey.exe e 19 flowey_lib_common::cache 4
2803 flowey.exe v 19 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
2804 flowey.exe v 19 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
2805 shell: bash
2806 - id: flowey_lib_common__cache__5
2807 uses: actions/cache@v5
2808 with:
2809 key: ${{ env.floweyvar6 }}
2810 path: ${{ env.floweyvar7 }}
2811 name: 'Restore cache: gh-cli'
2812 - name: installing gh
2813 run: |-
2814 flowey.exe v 19 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
2815 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
2816 EOF
2817 flowey.exe e 19 flowey_lib_common::cache 6
2818 flowey.exe e 19 flowey_lib_common::download_gh_cli 1
2819 flowey.exe v 19 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
2820 ${{ github.token }}
2821 EOF
2822 shell: bash
2823 - name: setup gh cli
2824 run: flowey.exe e 19 flowey_lib_common::use_gh_cli 0
2825 shell: bash
2826 - name: get latest completed action id
2827 run: flowey.exe e 19 flowey_lib_common::gh_latest_completed_workflow_id 0
2828 shell: bash
2829 - name: download artifacts from github actions run
2830 run: flowey.exe e 19 flowey_lib_common::download_gh_artifact 0
2831 shell: bash
2832 - name: write to directory variables
2833 run: flowey.exe e 19 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
2834 shell: bash
2835 - name: unpack openvmm-deps archive
2836 run: flowey.exe e 19 flowey_lib_hvlite::resolve_openvmm_deps 0
2837 shell: bash
2838 - name: unpack mu_msvm package (x64)
2839 run: flowey.exe e 19 flowey_lib_hvlite::download_uefi_mu_msvm 0
2840 shell: bash
2841 - name: setting up vmm_tests env
2842 run: |-
2843 flowey.exe e 19 flowey_lib_hvlite::init_vmm_tests_env 0
2844 flowey.exe e 19 flowey_lib_hvlite::run_cargo_nextest_run 1
2845 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 12
2846 flowey.exe e 19 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
2847 shell: bash
2848 - name: generate nextest command
2849 run: flowey.exe e 19 flowey_lib_common::gen_cargo_nextest_run_cmd 0
2850 shell: bash
2851 - name: install vmm tests deps (windows)
2852 run: flowey.exe e 19 flowey_lib_hvlite::install_vmm_tests_deps 0
2853 shell: bash
2854 - name: starting test_igvm_agent_rpc_server
2855 run: |-
2856 flowey.exe e 19 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
2857 flowey.exe e 19 flowey_core::pipeline::artifact::resolve 7
2858 shell: bash
2859 - name: running vmm_test prep_steps
2860 run: flowey.exe e 19 flowey_lib_hvlite::run_prep_steps 0
2861 shell: bash
2862 - name: run 'vmm_tests' nextest tests
2863 run: |-
2864 flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 0
2865 flowey.exe e 19 flowey_lib_common::run_cargo_nextest_run 1
2866 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
2867 shell: bash
2868 - name: stopping test_igvm_agent_rpc_server
2869 run: |-
2870 flowey.exe e 19 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
2871 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
2872 flowey.exe e 19 flowey_lib_common::publish_test_results 4
2873 flowey.exe e 19 flowey_lib_common::publish_test_results 5
2874 flowey.exe v 19 'flowey_lib_common::publish_test_results:9:flowey_lib_common/src/publish_test_results.rs:152:62' --is-raw-string --condvar flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57 write-to-env github floweyvar2
2875 flowey.exe v 19 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
2876 shell: bash
2877 - id: flowey_lib_common__publish_test_results__6
2878 uses: actions/upload-artifact@v7
2879 with:
2880 name: x64-windows-amd-snp-vmm-tests-logs
2881 path: ${{ env.floweyvar2 }}
2882 name: 'publish test results: x64-windows-amd-snp-vmm-tests (logs)'
2883 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2884 - name: πŸ¦€ flowey rust steps
2885 run: |-
2886 flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
2887 flowey.exe e 19 flowey_lib_common::publish_test_results 0
2888 flowey.exe e 19 flowey_lib_common::publish_test_results 1
2889 flowey.exe e 19 flowey_lib_common::publish_test_results 2
2890 flowey.exe v 19 'flowey_lib_common::publish_test_results:4:flowey_lib_common/src/publish_test_results.rs:95:47' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env github floweyvar1
2891 flowey.exe v 19 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env github FLOWEY_CONDITION
2892 shell: bash
2893 - id: flowey_lib_common__publish_test_results__3
2894 uses: actions/upload-artifact@v7
2895 with:
2896 name: x64-windows-amd-snp-vmm-tests-junit-xml
2897 path: ${{ env.floweyvar1 }}
2898 name: 'publish test results: x64-windows-amd-snp-vmm-tests (JUnit XML)'
2899 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
2900 - name: report test results to overall pipeline status
2901 run: flowey.exe e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
2902 shell: bash
2903 - name: 'validate cache entry: cargo-nextest'
2904 run: flowey.exe e 19 flowey_lib_common::cache 3
2905 shell: bash
2906 - name: 'validate cache entry: gh-cli'
2907 run: flowey.exe e 19 flowey_lib_common::cache 7
2908 shell: bash
2909 - name: 'validate cache entry: gh-release-download'
2910 run: flowey.exe e 19 flowey_lib_common::cache 11
2911 shell: bash
2912 job2:
2913 name: build artifacts (not for VMM tests) [aarch64-windows]
2914 runs-on:
2915 - self-hosted
2916 - 1ES.Pool=openvmm-gh-amd-westus3
2917 - 1ES.ImageOverride=win-amd64
2918 - JobId=job2-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
2919 permissions:
2920 contents: read
2921 id-token: write
2922 needs:
2923 - job0
2924 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
2925 steps:
2926 - run: |
2927 set -x
2928 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
2929 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
2930 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
2931 . "$HOME/.cargo/env"
2932 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
2933 rustup show
2934 if: runner.os == 'Linux'
2935 name: rustup (Linux)
2936 shell: bash
2937 - run: |
2938 set -x
2939 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
2940 ./rustup-init.exe -y --default-toolchain=1.94.0
2941 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
2942 if: runner.os == 'Windows' && runner.arch == 'X64'
2943 name: rustup (Windows X64)
2944 shell: bash
2945 - run: |
2946 set -x
2947 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
2948 ./rustup-init.exe -y --default-toolchain=1.94.0
2949 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
2950 if: runner.os == 'Windows' && runner.arch == 'ARM64'
2951 name: rustup (Windows ARM64)
2952 shell: bash
2953 - uses: actions/checkout@v6
2954 with:
2955 path: flowey_bootstrap
2956 - name: Build flowey
2957 run: |
2958 set -x
2959 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
2960 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2961 mkdir -p "$OutDirNormal"
2962 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
2963 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
2964 working-directory: flowey_bootstrap
2965 shell: bash
2966 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
2967 shell: bash
2968 name: πŸŒΌπŸ“¦ Add flowey to PATH
2969 - name: πŸŒΌπŸ”Ž Self-check YAML
2970 run: |-
2971 ESCAPED_AGENT_TEMPDIR=$(
2972 cat <<'EOF' | sed 's/\\/\\\\/g'
2973 ${{ runner.temp }}
2974 EOF
2975 )
2976 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
2977 shell: bash
2978 - name: πŸŒΌπŸ›« Initialize job
2979 run: |
2980 AgentTempDirNormal="${{ runner.temp }}"
2981 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2982 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
2983
2984 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
2985
2986 echo '"debug"' | flowey.exe v 2 'FLOWEY_LOG' update
2987 echo "${{ runner.temp }}/work" | flowey.exe v 2 '_internal_WORKING_DIR' --is-raw-string update
2988
2989 cat <<'EOF' | flowey.exe v 2 'verbose' update
2990 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
2991 EOF
2992 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-hypestv"
2993 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-hypestv" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update
2994 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-igvmfilegen"
2995 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-igvmfilegen" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update
2996 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-ohcldiag-dev"
2997 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update
2998 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib"
2999 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update
3000 shell: bash
3001 - name: add default cargo home to path
3002 run: flowey.exe e 2 flowey_lib_common::install_rust 0
3003 shell: bash
3004 - name: install Rust
3005 run: flowey.exe e 2 flowey_lib_common::install_rust 1
3006 shell: bash
3007 - name: detect active toolchain
3008 run: |-
3009 flowey.exe e 2 flowey_lib_common::install_rust 2
3010 flowey.exe e 2 flowey_lib_common::cfg_cargo_common_flags 0
3011 shell: bash
3012 - name: check if openvmm needs to be cloned
3013 run: |-
3014 flowey.exe e 2 flowey_lib_common::git_checkout 0
3015 flowey.exe v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
3016 flowey.exe v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
3017 shell: bash
3018 - id: flowey_lib_common__git_checkout__1
3019 uses: actions/checkout@v6
3020 with:
3021 fetch-depth: '1'
3022 path: repo0
3023 persist-credentials: ${{ env.floweyvar1 }}
3024 name: checkout repo openvmm
3025 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3026 - name: report cloned repo directories
3027 run: |-
3028 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
3029 ${{ github.workspace }}
3030 EOF
3031 flowey.exe e 2 flowey_lib_common::git_checkout 3
3032 flowey.exe e 2 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3033 shell: bash
3034 - name: set '-Dwarnings' in .cargo/config.toml
3035 run: flowey.exe e 2 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
3036 shell: bash
3037 - name: create gh-release-download cache dir
3038 run: flowey.exe e 2 flowey_lib_common::download_gh_release 0
3039 shell: bash
3040 - name: Pre-processing cache vars
3041 run: |-
3042 flowey.exe e 2 flowey_lib_common::cache 0
3043 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
3044 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
3045 shell: bash
3046 - id: flowey_lib_common__cache__1
3047 uses: actions/cache@v5
3048 with:
3049 key: ${{ env.floweyvar2 }}
3050 path: ${{ env.floweyvar3 }}
3051 name: 'Restore cache: gh-release-download'
3052 - name: download artifacts from github releases
3053 run: |-
3054 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
3055 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3056 EOF
3057 flowey.exe e 2 flowey_lib_common::cache 2
3058 flowey.exe e 2 flowey_lib_common::download_gh_release 1
3059 shell: bash
3060 - name: unpack protoc
3061 run: |-
3062 flowey.exe e 2 flowey_lib_common::resolve_protoc 0
3063 flowey.exe e 2 flowey_lib_hvlite::cfg_openvmm_magicpath 0
3064 shell: bash
3065 - name: symlink protoc
3066 run: |-
3067 flowey.exe e 2 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
3068 flowey.exe e 2 flowey_lib_hvlite::init_cross_build 1
3069 shell: bash
3070 - name: cargo build hypestv
3071 run: |-
3072 flowey.exe e 2 flowey_lib_common::run_cargo_build 0
3073 flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 0
3074 flowey.exe e 2 flowey_lib_hvlite::build_hypestv 0
3075 flowey.exe e 2 flowey_core::pipeline::artifact::publish 0
3076 flowey.exe e 2 flowey_lib_hvlite::init_cross_build 0
3077 shell: bash
3078 - name: cargo build vmgs_lib
3079 run: |-
3080 flowey.exe e 2 flowey_lib_common::run_cargo_build 3
3081 flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 3
3082 flowey.exe e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 0
3083 flowey.exe e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 1
3084 flowey.exe e 2 flowey_core::pipeline::artifact::publish 1
3085 flowey.exe e 2 flowey_lib_hvlite::init_cross_build 2
3086 shell: bash
3087 - name: cargo build igvmfilegen
3088 run: |-
3089 flowey.exe e 2 flowey_lib_common::run_cargo_build 1
3090 flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 1
3091 flowey.exe e 2 flowey_lib_hvlite::build_igvmfilegen 0
3092 flowey.exe e 2 flowey_core::pipeline::artifact::publish 2
3093 flowey.exe e 2 flowey_lib_hvlite::init_cross_build 3
3094 shell: bash
3095 - name: cargo build ohcldiag-dev
3096 run: |-
3097 flowey.exe e 2 flowey_lib_common::run_cargo_build 2
3098 flowey.exe e 2 flowey_lib_hvlite::run_cargo_build 2
3099 flowey.exe e 2 flowey_lib_hvlite::build_ohcldiag_dev 0
3100 flowey.exe e 2 flowey_core::pipeline::artifact::publish 3
3101 shell: bash
3102 - name: 'validate cache entry: gh-release-download'
3103 run: flowey.exe e 2 flowey_lib_common::cache 3
3104 shell: bash
3105 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-hypestv
3106 uses: actions/upload-artifact@v7
3107 with:
3108 name: aarch64-windows-hypestv
3109 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-hypestv/
3110 include-hidden-files: true
3111 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-igvmfilegen
3112 uses: actions/upload-artifact@v7
3113 with:
3114 name: aarch64-windows-igvmfilegen
3115 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-igvmfilegen/
3116 include-hidden-files: true
3117 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-ohcldiag-dev
3118 uses: actions/upload-artifact@v7
3119 with:
3120 name: aarch64-windows-ohcldiag-dev
3121 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-ohcldiag-dev/
3122 include-hidden-files: true
3123 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmgs_lib
3124 uses: actions/upload-artifact@v7
3125 with:
3126 name: aarch64-windows-vmgs_lib
3127 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/
3128 include-hidden-files: true
3129 job20:
3130 name: run vmm-tests [x64-linux]
3131 runs-on:
3132 - self-hosted
3133 - 1ES.Pool=openvmm-gh-amd-westus3
3134 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
3135 - JobId=job20-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
3136 permissions:
3137 contents: read
3138 id-token: write
3139 needs:
3140 - job0
3141 - job5
3142 - job7
3143 - job9
3144 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
3145 steps:
3146 - name: πŸŒΌπŸ“¦ Download artifacts
3147 uses: actions/download-artifact@v8
3148 with:
3149 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}'
3150 path: ${{ runner.temp }}/used_artifacts/
3151 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
3152 shell: bash
3153 name: πŸŒΌπŸ“¦ Add flowey to PATH
3154 - name: πŸŒΌπŸ›« Initialize job
3155 run: |
3156 AgentTempDirNormal="${{ runner.temp }}"
3157 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3158 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
3159
3160 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
3161
3162 echo '"debug"' | flowey v 20 'FLOWEY_LOG' update
3163 echo "${{ runner.temp }}/work" | flowey v 20 '_internal_WORKING_DIR' --is-raw-string update
3164
3165 cat <<'EOF' | flowey v 20 'verbose' update
3166 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
3167 EOF
3168 echo "$AgentTempDirNormal/used_artifacts/x64-guest_test_uefi" | flowey v 20 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
3169 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-pipette" | flowey v 20 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
3170 echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-tmk_vmm" | flowey v 20 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
3171 echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 20 'artifact_use_from_x64-linux-openvmm' --is-raw-string update
3172 echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm_vhost" | flowey v 20 'artifact_use_from_x64-linux-openvmm_vhost' --is-raw-string update
3173 echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-tests-archive" | flowey v 20 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update
3174 echo "$AgentTempDirNormal/used_artifacts/x64-tmks" | flowey v 20 'artifact_use_from_x64-tmks' --is-raw-string update
3175 echo "$AgentTempDirNormal/used_artifacts/x64-windows-pipette" | flowey v 20 'artifact_use_from_x64-windows-pipette' --is-raw-string update
3176 shell: bash
3177 - name: creating new test content dir
3178 run: |-
3179 flowey e 20 flowey_core::pipeline::artifact::resolve 3
3180 flowey e 20 flowey_core::pipeline::artifact::resolve 4
3181 flowey e 20 flowey_core::pipeline::artifact::resolve 7
3182 flowey e 20 flowey_core::pipeline::artifact::resolve 1
3183 flowey e 20 flowey_core::pipeline::artifact::resolve 0
3184 flowey e 20 flowey_core::pipeline::artifact::resolve 2
3185 flowey e 20 flowey_core::pipeline::artifact::resolve 6
3186 flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
3187 shell: bash
3188 - name: checking if packages need to be installed
3189 run: flowey e 20 flowey_lib_common::install_dist_pkg 0
3190 shell: bash
3191 - name: installing packages
3192 run: flowey e 20 flowey_lib_common::install_dist_pkg 1
3193 shell: bash
3194 - name: create gh-release-download cache dir
3195 run: flowey e 20 flowey_lib_common::download_gh_release 0
3196 shell: bash
3197 - name: Pre-processing cache vars
3198 run: |-
3199 flowey e 20 flowey_lib_common::cache 8
3200 flowey v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar8
3201 flowey v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar9
3202 shell: bash
3203 - id: flowey_lib_common__cache__9
3204 uses: actions/cache@v5
3205 with:
3206 key: ${{ env.floweyvar8 }}
3207 path: ${{ env.floweyvar9 }}
3208 name: 'Restore cache: gh-release-download'
3209 - name: download artifacts from github releases
3210 run: |-
3211 flowey v 20 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <<EOF
3212 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
3213 EOF
3214 flowey e 20 flowey_lib_common::cache 10
3215 flowey e 20 flowey_lib_common::download_gh_release 1
3216 shell: bash
3217 - name: extract azcopy from archive
3218 run: flowey e 20 flowey_lib_common::download_azcopy 0
3219 shell: bash
3220 - name: calculating required VMM tests disk images
3221 run: flowey e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
3222 shell: bash
3223 - name: downloading VMM test disk images
3224 run: |-
3225 flowey e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
3226 flowey e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
3227 shell: bash
3228 - name: create gh cache dir
3229 run: flowey e 20 flowey_lib_common::download_gh_cli 0
3230 shell: bash
3231 - name: Pre-processing cache vars
3232 run: |-
3233 flowey e 20 flowey_lib_common::cache 4
3234 flowey v 20 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar6
3235 flowey v 20 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar7
3236 shell: bash
3237 - id: flowey_lib_common__cache__5
3238 uses: actions/cache@v5
3239 with:
3240 key: ${{ env.floweyvar6 }}
3241 path: ${{ env.floweyvar7 }}
3242 name: 'Restore cache: gh-cli'
3243 - name: installing gh
3244 run: |-
3245 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
3246 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
3247 EOF
3248 flowey e 20 flowey_lib_common::cache 6
3249 flowey e 20 flowey_lib_common::download_gh_cli 1
3250 flowey v 20 'flowey_lib_hvlite::_jobs::cfg_common:0:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
3251 ${{ github.token }}
3252 EOF
3253 shell: bash
3254 - name: setup gh cli
3255 run: flowey e 20 flowey_lib_common::use_gh_cli 0
3256 shell: bash
3257 - name: get latest completed action id
3258 run: flowey e 20 flowey_lib_common::gh_latest_completed_workflow_id 0
3259 shell: bash
3260 - name: download artifacts from github actions run
3261 run: flowey e 20 flowey_lib_common::download_gh_artifact 0
3262 shell: bash
3263 - name: write to directory variables
3264 run: flowey e 20 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
3265 shell: bash
3266 - name: unpack openvmm-deps archive
3267 run: flowey e 20 flowey_lib_hvlite::resolve_openvmm_deps 0
3268 shell: bash
3269 - name: unpack mu_msvm package (x64)
3270 run: flowey e 20 flowey_lib_hvlite::download_uefi_mu_msvm 0
3271 shell: bash
3272 - name: setting up vmm_tests env
3273 run: flowey e 20 flowey_lib_hvlite::init_vmm_tests_env 0
3274 shell: bash
3275 - name: ensure /dev/kvm is accessible
3276 run: flowey e 20 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
3277 shell: bash
3278 - name: create cargo-nextest cache dir
3279 run: |-
3280 flowey e 20 flowey_lib_common::download_cargo_nextest 0
3281 flowey e 20 flowey_lib_common::download_cargo_nextest 1
3282 flowey e 20 flowey_lib_common::download_cargo_nextest 2
3283 flowey e 20 flowey_lib_common::download_cargo_nextest 3
3284 shell: bash
3285 - name: Pre-processing cache vars
3286 run: |-
3287 flowey e 20 flowey_lib_common::cache 0
3288 flowey v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
3289 flowey v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
3290 shell: bash
3291 - id: flowey_lib_common__cache__1
3292 uses: actions/cache@v5
3293 with:
3294 key: ${{ env.floweyvar4 }}
3295 path: ${{ env.floweyvar5 }}
3296 name: 'Restore cache: cargo-nextest'
3297 - name: downloading cargo-nextest
3298 run: |-
3299 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
3300 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3301 EOF
3302 flowey e 20 flowey_lib_common::cache 2
3303 flowey e 20 flowey_lib_common::download_cargo_nextest 4
3304 shell: bash
3305 - name: check if openvmm needs to be cloned
3306 run: |-
3307 flowey e 20 flowey_lib_common::git_checkout 0
3308 flowey v 20 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
3309 flowey v 20 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
3310 shell: bash
3311 - id: flowey_lib_common__git_checkout__1
3312 uses: actions/checkout@v6
3313 with:
3314 fetch-depth: '1'
3315 path: repo0
3316 persist-credentials: ${{ env.floweyvar3 }}
3317 name: checkout repo openvmm
3318 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3319 - name: report cloned repo directories
3320 run: |-
3321 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
3322 ${{ github.workspace }}
3323 EOF
3324 flowey e 20 flowey_lib_common::git_checkout 3
3325 flowey e 20 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3326 flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 0
3327 flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 1
3328 flowey e 20 flowey_core::pipeline::artifact::resolve 5
3329 flowey e 20 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1
3330 shell: bash
3331 - name: generate nextest command
3332 run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 0
3333 shell: bash
3334 - name: install vmm tests deps (linux)
3335 run: flowey e 20 flowey_lib_hvlite::install_vmm_tests_deps 0
3336 shell: bash
3337 - name: run 'vmm_tests' nextest tests
3338 run: |-
3339 flowey e 20 flowey_lib_common::run_cargo_nextest_run 0
3340 flowey e 20 flowey_lib_common::run_cargo_nextest_run 1
3341 flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
3342 flowey e 20 flowey_lib_common::publish_test_results 4
3343 flowey e 20 flowey_lib_common::publish_test_results 5
3344 flowey v 20 '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
3345 flowey v 20 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs:144:57' write-to-env github FLOWEY_CONDITION
3346 shell: bash
3347 - id: flowey_lib_common__publish_test_results__6
3348 uses: actions/upload-artifact@v7
3349 with:
3350 name: x64-linux-vmm-tests-logs
3351 path: ${{ env.floweyvar2 }}
3352 name: 'publish test results: x64-linux-vmm-tests (logs)'
3353 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3354 - name: πŸ¦€ flowey rust steps
3355 run: |-
3356 flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
3357 flowey e 20 flowey_lib_common::publish_test_results 0
3358 flowey e 20 flowey_lib_common::publish_test_results 1
3359 flowey e 20 flowey_lib_common::publish_test_results 2
3360 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
3361 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
3362 shell: bash
3363 - id: flowey_lib_common__publish_test_results__3
3364 uses: actions/upload-artifact@v7
3365 with:
3366 name: x64-linux-vmm-tests-junit-xml
3367 path: ${{ env.floweyvar1 }}
3368 name: 'publish test results: x64-linux-vmm-tests (JUnit XML)'
3369 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3370 - name: report test results to overall pipeline status
3371 run: flowey e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
3372 shell: bash
3373 - name: 'validate cache entry: cargo-nextest'
3374 run: flowey e 20 flowey_lib_common::cache 3
3375 shell: bash
3376 - name: 'validate cache entry: gh-cli'
3377 run: flowey e 20 flowey_lib_common::cache 7
3378 shell: bash
3379 - name: 'validate cache entry: gh-release-download'
3380 run: flowey e 20 flowey_lib_common::cache 11
3381 shell: bash
3382 job21:
3383 name: run vmm-tests [aarch64-windows]
3384 runs-on:
3385 - self-hosted
3386 - Windows
3387 - ARM64
3388 - Baremetal
3389 permissions:
3390 contents: read
3391 id-token: write
3392 needs:
3393 - job0
3394 - job3
3395 - job6
3396 - job8
3397 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
3398 steps:
3399 - run: |
3400 set -x
3401 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
3402 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
3403 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
3404 . "$HOME/.cargo/env"
3405 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
3406 rustup show
3407 if: runner.os == 'Linux'
3408 name: rustup (Linux)
3409 shell: bash
3410 - run: |
3411 set -x
3412 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
3413 ./rustup-init.exe -y --default-toolchain=1.94.0
3414 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
3415 if: runner.os == 'Windows' && runner.arch == 'X64'
3416 name: rustup (Windows X64)
3417 shell: bash
3418 - run: |
3419 set -x
3420 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
3421 ./rustup-init.exe -y --default-toolchain=1.94.0
3422 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
3423 if: runner.os == 'Windows' && runner.arch == 'ARM64'
3424 name: rustup (Windows ARM64)
3425 shell: bash
3426 - uses: actions/checkout@v6
3427 with:
3428 path: flowey_bootstrap
3429 - name: Build flowey
3430 run: |
3431 set -x
3432 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target aarch64-pc-windows-msvc --profile flowey-ci
3433 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3434 mkdir -p "$OutDirNormal"
3435 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
3436 mv target/aarch64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
3437 working-directory: flowey_bootstrap
3438 shell: bash
3439 - name: πŸŒΌπŸ“¦ Download artifacts
3440 uses: actions/download-artifact@v8
3441 with:
3442 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}'
3443 path: ${{ runner.temp }}/used_artifacts/
3444 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
3445 shell: bash
3446 name: πŸŒΌπŸ“¦ Add flowey to PATH
3447 - name: πŸŒΌπŸ”Ž Self-check YAML
3448 run: |-
3449 ESCAPED_AGENT_TEMPDIR=$(
3450 cat <<'EOF' | sed 's/\\/\\\\/g'
3451 ${{ runner.temp }}
3452 EOF
3453 )
3454 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
3455 shell: bash
3456 - name: πŸŒΌπŸ›« Initialize job
3457 run: |
3458 AgentTempDirNormal="${{ runner.temp }}"
3459 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3460 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
3461
3462 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
3463
3464 echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update
3465 echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update
3466
3467 cat <<'EOF' | flowey.exe v 21 'verbose' update
3468 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
3469 EOF
3470 echo "${{ runner.temp }}\\used_artifacts\\aarch64-guest_test_uefi" | flowey.exe v 21 'artifact_use_from_aarch64-guest_test_uefi' --is-raw-string update
3471 echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-pipette" | flowey.exe v 21 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update
3472 echo "${{ runner.temp }}\\used_artifacts\\aarch64-linux-musl-tmk_vmm" | flowey.exe v 21 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update
3473 echo "${{ runner.temp }}\\used_artifacts\\aarch64-openhcl-igvm" | flowey.exe v 21 'artifact_use_from_aarch64-openhcl-igvm' --is-raw-string update
3474 echo "${{ runner.temp }}\\used_artifacts\\aarch64-tmks" | flowey.exe v 21 'artifact_use_from_aarch64-tmks' --is-raw-string update
3475 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-openvmm" | flowey.exe v 21 'artifact_use_from_aarch64-windows-openvmm' --is-raw-string update
3476 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-pipette" | flowey.exe v 21 'artifact_use_from_aarch64-windows-pipette' --is-raw-string update
3477 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 21 'artifact_use_from_aarch64-windows-tmk_vmm' --is-raw-string update
3478 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 21 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update
3479 echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update
3480 shell: bash
3481 - name: create cargo-nextest cache dir
3482 run: |-
3483 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0
3484 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1
3485 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2
3486 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3
3487 shell: bash
3488 - name: Pre-processing cache vars
3489 run: |-
3490 flowey.exe e 21 flowey_lib_common::cache 0
3491 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
3492 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
3493 shell: bash
3494 - id: flowey_lib_common__cache__1
3495 uses: actions/cache@v5
3496 with:
3497 key: ${{ env.floweyvar4 }}
3498 path: ${{ env.floweyvar5 }}
3499 name: 'Restore cache: cargo-nextest'
3500 - name: downloading cargo-nextest
3501 run: |-
3502 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
3503 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3504 EOF
3505 flowey.exe e 21 flowey_lib_common::cache 2
3506 flowey.exe e 21 flowey_lib_common::download_cargo_nextest 4
3507 shell: bash
3508 - name: check if openvmm needs to be cloned
3509 run: |-
3510 flowey.exe e 21 flowey_lib_common::git_checkout 0
3511 flowey.exe v 21 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
3512 flowey.exe v 21 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
3513 shell: bash
3514 - id: flowey_lib_common__git_checkout__1
3515 uses: actions/checkout@v6
3516 with:
3517 fetch-depth: '1'
3518 path: repo0
3519 persist-credentials: ${{ env.floweyvar3 }}
3520 name: checkout repo openvmm
3521 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3522 - name: report cloned repo directories
3523 run: |-
3524 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
3525 ${{ github.workspace }}
3526 EOF
3527 flowey.exe e 21 flowey_lib_common::git_checkout 3
3528 flowey.exe e 21 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3529 flowey.exe e 21 flowey_lib_hvlite::run_cargo_nextest_run 0
3530 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 4
3531 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 5
3532 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 1
3533 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 0
3534 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 6
3535 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 2
3536 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 3
3537 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 7
3538 shell: bash
3539 - name: creating new test content dir
3540 run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
3541 shell: bash
3542 - name: resolve OpenHCL igvm artifact
3543 run: flowey.exe e 21 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
3544 shell: bash
3545 - name: create gh-release-download cache dir
3546 run: flowey.exe e 21 flowey_lib_common::download_gh_release 0
3547 shell: bash
3548 - name: Pre-processing cache vars
3549 run: |-
3550 flowey.exe e 21 flowey_lib_common::cache 8
3551 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
3552 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
3553 shell: bash
3554 - id: flowey_lib_common__cache__9
3555 uses: actions/cache@v5
3556 with:
3557 key: ${{ env.floweyvar8 }}
3558 path: ${{ env.floweyvar9 }}
3559 name: 'Restore cache: gh-release-download'
3560 - name: download artifacts from github releases
3561 run: |-
3562 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
3563 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
3564 EOF
3565 flowey.exe e 21 flowey_lib_common::cache 10
3566 flowey.exe e 21 flowey_lib_common::download_gh_release 1
3567 shell: bash
3568 - name: extract azcopy from archive
3569 run: flowey.exe e 21 flowey_lib_common::download_azcopy 0
3570 shell: bash
3571 - name: calculating required VMM tests disk images
3572 run: flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
3573 shell: bash
3574 - name: downloading VMM test disk images
3575 run: |-
3576 flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
3577 flowey.exe e 21 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
3578 shell: bash
3579 - name: create gh cache dir
3580 run: flowey.exe e 21 flowey_lib_common::download_gh_cli 0
3581 shell: bash
3582 - name: Pre-processing cache vars
3583 run: |-
3584 flowey.exe e 21 flowey_lib_common::cache 4
3585 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
3586 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
3587 shell: bash
3588 - id: flowey_lib_common__cache__5
3589 uses: actions/cache@v5
3590 with:
3591 key: ${{ env.floweyvar6 }}
3592 path: ${{ env.floweyvar7 }}
3593 name: 'Restore cache: gh-cli'
3594 - name: installing gh
3595 run: |-
3596 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
3597 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
3598 EOF
3599 flowey.exe e 21 flowey_lib_common::cache 6
3600 flowey.exe e 21 flowey_lib_common::download_gh_cli 1
3601 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
3602 ${{ github.token }}
3603 EOF
3604 shell: bash
3605 - name: setup gh cli
3606 run: flowey.exe e 21 flowey_lib_common::use_gh_cli 0
3607 shell: bash
3608 - name: get latest completed action id
3609 run: flowey.exe e 21 flowey_lib_common::gh_latest_completed_workflow_id 0
3610 shell: bash
3611 - name: download artifacts from github actions run
3612 run: flowey.exe e 21 flowey_lib_common::download_gh_artifact 0
3613 shell: bash
3614 - name: write to directory variables
3615 run: flowey.exe e 21 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
3616 shell: bash
3617 - name: unpack openvmm-deps archive
3618 run: flowey.exe e 21 flowey_lib_hvlite::resolve_openvmm_deps 0
3619 shell: bash
3620 - name: unpack mu_msvm package (aarch64)
3621 run: flowey.exe e 21 flowey_lib_hvlite::download_uefi_mu_msvm 0
3622 shell: bash
3623 - name: setting up vmm_tests env
3624 run: |-
3625 flowey.exe e 21 flowey_lib_hvlite::init_vmm_tests_env 0
3626 flowey.exe e 21 flowey_lib_hvlite::run_cargo_nextest_run 1
3627 flowey.exe e 21 flowey_core::pipeline::artifact::resolve 8
3628 flowey.exe e 21 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
3629 shell: bash
3630 - name: generate nextest command
3631 run: flowey.exe e 21 flowey_lib_common::gen_cargo_nextest_run_cmd 0
3632 shell: bash
3633 - name: install vmm tests deps (windows)
3634 run: flowey.exe e 21 flowey_lib_hvlite::install_vmm_tests_deps 0
3635 shell: bash
3636 - name: starting test_igvm_agent_rpc_server
3637 run: flowey.exe e 21 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
3638 shell: bash
3639 - name: run 'vmm_tests' nextest tests
3640 run: |-
3641 flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 0
3642 flowey.exe e 21 flowey_lib_common::run_cargo_nextest_run 1
3643 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
3644 shell: bash
3645 - name: stopping test_igvm_agent_rpc_server
3646 run: |-
3647 flowey.exe e 21 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
3648 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
3649 flowey.exe e 21 flowey_lib_common::publish_test_results 4
3650 flowey.exe e 21 flowey_lib_common::publish_test_results 5
3651 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
3652 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
3653 shell: bash
3654 - id: flowey_lib_common__publish_test_results__6
3655 uses: actions/upload-artifact@v7
3656 with:
3657 name: aarch64-windows-vmm-tests-logs
3658 path: ${{ env.floweyvar2 }}
3659 name: 'publish test results: aarch64-windows-vmm-tests (logs)'
3660 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3661 - name: πŸ¦€ flowey rust steps
3662 run: |-
3663 flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
3664 flowey.exe e 21 flowey_lib_common::publish_test_results 0
3665 flowey.exe e 21 flowey_lib_common::publish_test_results 1
3666 flowey.exe e 21 flowey_lib_common::publish_test_results 2
3667 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
3668 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
3669 shell: bash
3670 - id: flowey_lib_common__publish_test_results__3
3671 uses: actions/upload-artifact@v7
3672 with:
3673 name: aarch64-windows-vmm-tests-junit-xml
3674 path: ${{ env.floweyvar1 }}
3675 name: 'publish test results: aarch64-windows-vmm-tests (JUnit XML)'
3676 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3677 - name: report test results to overall pipeline status
3678 run: flowey.exe e 21 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
3679 shell: bash
3680 - name: 'validate cache entry: cargo-nextest'
3681 run: flowey.exe e 21 flowey_lib_common::cache 3
3682 shell: bash
3683 - name: 'validate cache entry: gh-cli'
3684 run: flowey.exe e 21 flowey_lib_common::cache 7
3685 shell: bash
3686 - name: 'validate cache entry: gh-release-download'
3687 run: flowey.exe e 21 flowey_lib_common::cache 11
3688 shell: bash
3689 job22:
3690 name: test flowey local backend
3691 runs-on: ubuntu-latest
3692 permissions:
3693 contents: read
3694 id-token: write
3695 needs:
3696 - job0
3697 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
3698 steps:
3699 - name: πŸŒΌπŸ“¦ Download artifacts
3700 uses: actions/download-artifact@v8
3701 with:
3702 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
3703 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
3704 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
3705 shell: bash
3706 name: πŸŒΌπŸ“¦ Add flowey to PATH
3707 - name: πŸŒΌπŸ›« Initialize job
3708 run: |
3709 AgentTempDirNormal="${{ runner.temp }}"
3710 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3711 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
3712
3713 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
3714
3715 echo '"debug"' | flowey v 22 'FLOWEY_LOG' update
3716 echo "${{ runner.temp }}/work" | flowey v 22 '_internal_WORKING_DIR' --is-raw-string update
3717
3718 cat <<'EOF' | flowey v 22 'verbose' update
3719 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
3720 EOF
3721 shell: bash
3722 - name: check if openvmm needs to be cloned
3723 run: |-
3724 flowey e 22 flowey_lib_common::git_checkout 0
3725 flowey v 22 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
3726 flowey v 22 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
3727 shell: bash
3728 - id: flowey_lib_common__git_checkout__1
3729 uses: actions/checkout@v6
3730 with:
3731 fetch-depth: '1'
3732 path: repo0
3733 persist-credentials: ${{ env.floweyvar1 }}
3734 name: checkout repo openvmm
3735 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3736 - name: report cloned repo directories
3737 run: |-
3738 flowey 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
3739 ${{ github.workspace }}
3740 EOF
3741 flowey e 22 flowey_lib_common::git_checkout 3
3742 flowey e 22 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3743 shell: bash
3744 - name: add default cargo home to path
3745 run: flowey e 22 flowey_lib_common::install_rust 0
3746 shell: bash
3747 - name: install Rust
3748 run: |-
3749 flowey e 22 flowey_lib_common::install_rust 1
3750 flowey v 22 'flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm:2:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.token <<EOF
3751 ${{ github.token }}
3752 EOF
3753 shell: bash
3754 - name: test cargo xflowey build-igvm x64 --install-missing-deps
3755 run: flowey e 22 flowey_lib_hvlite::_jobs::test_local_flowey_build_igvm 1
3756 shell: bash
3757 job23:
3758 name: build openhcl (mi-secure) [x64-linux]
3759 runs-on:
3760 - self-hosted
3761 - 1ES.Pool=openvmm-gh-amd-westus3
3762 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
3763 - JobId=job23-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
3764 permissions:
3765 contents: read
3766 id-token: write
3767 needs:
3768 - job0
3769 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
3770 steps:
3771 - name: πŸŒΌπŸ“¦ Download artifacts
3772 uses: actions/download-artifact@v8
3773 with:
3774 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
3775 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
3776 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
3777 shell: bash
3778 name: πŸŒΌπŸ“¦ Add flowey to PATH
3779 - name: πŸŒΌπŸ›« Initialize job
3780 run: |
3781 AgentTempDirNormal="${{ runner.temp }}"
3782 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3783 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
3784
3785 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
3786
3787 echo '"debug"' | flowey v 23 'FLOWEY_LOG' update
3788 echo "${{ runner.temp }}/work" | flowey v 23 '_internal_WORKING_DIR' --is-raw-string update
3789
3790 cat <<'EOF' | flowey v 23 'verbose' update
3791 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
3792 EOF
3793 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm"
3794 echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm" | flowey v 23 'artifact_publish_from_x64-mi-secure-openhcl-igvm' --is-raw-string update
3795 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-extras"
3796 echo "$AgentTempDirNormal/publish_artifacts/x64-mi-secure-openhcl-igvm-extras" | flowey v 23 'artifact_publish_from_x64-mi-secure-openhcl-igvm-extras' --is-raw-string update
3797 shell: bash
3798 - name: checking if packages need to be installed
3799 run: flowey e 23 flowey_lib_common::install_dist_pkg 0
3800 shell: bash
3801 - name: installing packages
3802 run: flowey e 23 flowey_lib_common::install_dist_pkg 1
3803 shell: bash
3804 - name: create gh-release-download cache dir
3805 run: flowey e 23 flowey_lib_common::download_gh_release 0
3806 shell: bash
3807 - name: Pre-processing cache vars
3808 run: |-
3809 flowey e 23 flowey_lib_common::cache 0
3810 flowey v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1
3811 flowey v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2
3812 shell: bash
3813 - id: flowey_lib_common__cache__1
3814 uses: actions/cache@v5
3815 with:
3816 key: ${{ env.floweyvar1 }}
3817 path: ${{ env.floweyvar2 }}
3818 name: 'Restore cache: gh-release-download'
3819 - name: download artifacts from github releases
3820 run: |-
3821 flowey 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
3822 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
3823 EOF
3824 flowey e 23 flowey_lib_common::cache 2
3825 flowey e 23 flowey_lib_common::download_gh_release 1
3826 shell: bash
3827 - name: unpack openvmm-deps archive
3828 run: flowey e 23 flowey_lib_hvlite::resolve_openvmm_deps 0
3829 shell: bash
3830 - name: add default cargo home to path
3831 run: flowey e 23 flowey_lib_common::install_rust 0
3832 shell: bash
3833 - name: install Rust
3834 run: flowey e 23 flowey_lib_common::install_rust 1
3835 shell: bash
3836 - name: detect active toolchain
3837 run: |-
3838 flowey e 23 flowey_lib_common::install_rust 2
3839 flowey e 23 flowey_lib_common::cfg_cargo_common_flags 0
3840 shell: bash
3841 - name: check if openvmm needs to be cloned
3842 run: |-
3843 flowey e 23 flowey_lib_common::git_checkout 0
3844 flowey v 23 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
3845 flowey v 23 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
3846 shell: bash
3847 - id: flowey_lib_common__git_checkout__1
3848 uses: actions/checkout@v6
3849 with:
3850 fetch-depth: '1'
3851 path: repo0
3852 persist-credentials: ${{ env.floweyvar3 }}
3853 name: checkout repo openvmm
3854 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
3855 - name: report cloned repo directories
3856 run: |-
3857 flowey 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
3858 ${{ github.workspace }}
3859 EOF
3860 flowey e 23 flowey_lib_common::git_checkout 3
3861 flowey e 23 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3862 shell: bash
3863 - name: set '-Dwarnings' in .cargo/config.toml
3864 run: flowey e 23 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
3865 shell: bash
3866 - name: unpack protoc
3867 run: |-
3868 flowey e 23 flowey_lib_common::resolve_protoc 0
3869 flowey e 23 flowey_lib_hvlite::cfg_openvmm_magicpath 0
3870 shell: bash
3871 - name: symlink protoc
3872 run: |-
3873 flowey e 23 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
3874 flowey e 23 flowey_lib_hvlite::init_cross_build 0
3875 flowey e 23 flowey_lib_hvlite::run_cargo_build 7
3876 flowey e 23 flowey_lib_hvlite::run_cargo_build 8
3877 shell: bash
3878 - name: cargo build sidecar
3879 run: |-
3880 flowey e 23 flowey_lib_common::run_cargo_build 3
3881 flowey e 23 flowey_lib_hvlite::run_cargo_build 9
3882 shell: bash
3883 - name: split debug symbols
3884 run: |-
3885 flowey e 23 flowey_lib_hvlite::run_split_debug_info 4
3886 flowey e 23 flowey_lib_hvlite::run_cargo_build 10
3887 flowey e 23 flowey_lib_hvlite::build_sidecar 0
3888 flowey e 23 flowey_lib_hvlite::init_cross_build 1
3889 flowey e 23 flowey_lib_hvlite::run_cargo_build 2
3890 flowey e 23 flowey_lib_hvlite::run_cargo_build 3
3891 shell: bash
3892 - name: cargo build openhcl_boot
3893 run: |-
3894 flowey e 23 flowey_lib_common::run_cargo_build 1
3895 flowey e 23 flowey_lib_hvlite::run_cargo_build 4
3896 shell: bash
3897 - name: split debug symbols
3898 run: |-
3899 flowey e 23 flowey_lib_hvlite::run_split_debug_info 3
3900 flowey e 23 flowey_lib_hvlite::run_cargo_build 5
3901 flowey e 23 flowey_lib_hvlite::build_openhcl_boot 0
3902 shell: bash
3903 - name: extract and resolve kernel package
3904 run: |-
3905 flowey e 23 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
3906 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28
3907 shell: bash
3908 - name: extract X64 sysroot.tar.gz
3909 run: |-
3910 flowey e 23 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
3911 flowey e 23 flowey_lib_hvlite::init_cross_build 3
3912 shell: bash
3913 - name: cargo build openvmm_hcl
3914 run: |-
3915 flowey e 23 flowey_lib_common::run_cargo_build 2
3916 flowey e 23 flowey_lib_hvlite::run_cargo_build 6
3917 flowey e 23 flowey_lib_hvlite::build_openvmm_hcl 0
3918 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24
3919 shell: bash
3920 - name: split debug symbols
3921 run: |-
3922 flowey e 23 flowey_lib_hvlite::run_split_debug_info 2
3923 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25
3924 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26
3925 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29
3926 shell: bash
3927 - name: building openhcl initrd
3928 run: |-
3929 flowey e 23 flowey_lib_hvlite::build_openhcl_initrd 2
3930 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30
3931 flowey e 23 flowey_lib_hvlite::init_cross_build 2
3932 shell: bash
3933 - name: cargo build igvmfilegen
3934 run: |-
3935 flowey e 23 flowey_lib_common::run_cargo_build 0
3936 flowey e 23 flowey_lib_hvlite::run_cargo_build 0
3937 shell: bash
3938 - name: split debug symbols
3939 run: |-
3940 flowey e 23 flowey_lib_hvlite::run_split_debug_info 5
3941 flowey e 23 flowey_lib_hvlite::run_cargo_build 1
3942 flowey e 23 flowey_lib_hvlite::build_igvmfilegen 0
3943 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31
3944 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32
3945 shell: bash
3946 - name: building igvm file
3947 run: |-
3948 flowey e 23 flowey_lib_hvlite::run_igvmfilegen 2
3949 flowey e 23 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
3950 shell: bash
3951 - name: unpack mu_msvm package (x64)
3952 run: flowey e 23 flowey_lib_hvlite::download_uefi_mu_msvm 0
3953 shell: bash
3954 - name: extract and resolve kernel package
3955 run: |-
3956 flowey e 23 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
3957 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
3958 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
3959 shell: bash
3960 - name: split debug symbols
3961 run: |-
3962 flowey e 23 flowey_lib_hvlite::run_split_debug_info 1
3963 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
3964 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
3965 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
3966 shell: bash
3967 - name: building openhcl initrd
3968 run: |-
3969 flowey e 23 flowey_lib_hvlite::build_openhcl_initrd 1
3970 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
3971 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
3972 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
3973 shell: bash
3974 - name: building igvm file
3975 run: |-
3976 flowey e 23 flowey_lib_hvlite::run_igvmfilegen 1
3977 flowey e 23 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4
3978 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
3979 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
3980 shell: bash
3981 - name: split debug symbols
3982 run: |-
3983 flowey e 23 flowey_lib_hvlite::run_split_debug_info 0
3984 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
3985 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
3986 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
3987 shell: bash
3988 - name: building openhcl initrd
3989 run: |-
3990 flowey e 23 flowey_lib_hvlite::build_openhcl_initrd 0
3991 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
3992 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
3993 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
3994 shell: bash
3995 - name: building igvm file
3996 run: |-
3997 flowey e 23 flowey_lib_hvlite::run_igvmfilegen 0
3998 flowey e 23 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
3999 flowey e 23 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
4000 shell: bash
4001 - name: copying OpenHCL igvm files to artifact dir
4002 run: |-
4003 flowey e 23 flowey_lib_common::copy_to_artifact_dir 1
4004 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22
4005 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27
4006 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23
4007 flowey e 23 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
4008 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
4009 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
4010 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
4011 flowey e 23 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5
4012 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
4013 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
4014 flowey e 23 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
4015 flowey e 23 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
4016 flowey e 23 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
4017 shell: bash
4018 - name: copying OpenHCL igvm extras to artifact dir
4019 run: flowey e 23 flowey_lib_common::copy_to_artifact_dir 0
4020 shell: bash
4021 - name: 'validate cache entry: gh-release-download'
4022 run: flowey e 23 flowey_lib_common::cache 3
4023 shell: bash
4024 - name: πŸŒΌπŸ“¦ Publish x64-mi-secure-openhcl-igvm
4025 uses: actions/upload-artifact@v7
4026 with:
4027 name: x64-mi-secure-openhcl-igvm
4028 path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm/
4029 include-hidden-files: true
4030 - name: πŸŒΌπŸ“¦ Publish x64-mi-secure-openhcl-igvm-extras
4031 uses: actions/upload-artifact@v7
4032 with:
4033 name: x64-mi-secure-openhcl-igvm-extras
4034 path: ${{ runner.temp }}/publish_artifacts/x64-mi-secure-openhcl-igvm-extras/
4035 include-hidden-files: true
4036 job24:
4037 name: run vmm-tests [x64-windows-intel-mi-secure]
4038 runs-on:
4039 - self-hosted
4040 - 1ES.Pool=openvmm-gh-intel-westus3
4041 - 1ES.ImageOverride=win-amd64
4042 - JobId=job24-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
4043 permissions:
4044 contents: read
4045 id-token: write
4046 needs:
4047 - job0
4048 - job23
4049 - job5
4050 - job7
4051 - job9
4052 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
4053 steps:
4054 - name: πŸŒΌπŸ“¦ Download artifacts
4055 uses: actions/download-artifact@v8
4056 with:
4057 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}'
4058 path: ${{ runner.temp }}/used_artifacts/
4059 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH
4060 shell: bash
4061 name: πŸŒΌπŸ“¦ Add flowey to PATH
4062 - name: πŸŒΌπŸ›« Initialize job
4063 run: |
4064 AgentTempDirNormal="${{ runner.temp }}"
4065 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4066 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4067
4068 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe
4069
4070 echo '"debug"' | flowey.exe v 24 'FLOWEY_LOG' update
4071 echo "${{ runner.temp }}/work" | flowey.exe v 24 '_internal_WORKING_DIR' --is-raw-string update
4072
4073 cat <<'EOF' | flowey.exe v 24 'verbose' update
4074 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4075 EOF
4076 echo "${{ runner.temp }}\\used_artifacts\\x64-guest_test_uefi" | flowey.exe v 24 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
4077 echo "${{ runner.temp }}\\used_artifacts\\x64-linux-musl-pipette" | flowey.exe v 24 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
4078 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
4079 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
4080 echo "${{ runner.temp }}\\used_artifacts\\x64-mi-secure-openhcl-igvm" | flowey.exe v 24 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update
4081 echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 24 'artifact_use_from_x64-tmks' --is-raw-string update
4082 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 24 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
4083 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 24 'artifact_use_from_x64-windows-pipette' --is-raw-string update
4084 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 24 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
4085 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
4086 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 24 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
4087 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
4088 echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool" | flowey.exe v 24 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
4089 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
4090 shell: bash
4091 - name: create cargo-nextest cache dir
4092 run: |-
4093 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 0
4094 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 1
4095 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 2
4096 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 3
4097 shell: bash
4098 - name: Pre-processing cache vars
4099 run: |-
4100 flowey.exe e 24 flowey_lib_common::cache 0
4101 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
4102 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
4103 shell: bash
4104 - id: flowey_lib_common__cache__1
4105 uses: actions/cache@v5
4106 with:
4107 key: ${{ env.floweyvar4 }}
4108 path: ${{ env.floweyvar5 }}
4109 name: 'Restore cache: cargo-nextest'
4110 - name: downloading cargo-nextest
4111 run: |-
4112 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
4113 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4114 EOF
4115 flowey.exe e 24 flowey_lib_common::cache 2
4116 flowey.exe e 24 flowey_lib_common::download_cargo_nextest 4
4117 shell: bash
4118 - name: check if openvmm needs to be cloned
4119 run: |-
4120 flowey.exe e 24 flowey_lib_common::git_checkout 0
4121 flowey.exe v 24 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
4122 flowey.exe v 24 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
4123 shell: bash
4124 - id: flowey_lib_common__git_checkout__1
4125 uses: actions/checkout@v6
4126 with:
4127 fetch-depth: '1'
4128 path: repo0
4129 persist-credentials: ${{ env.floweyvar3 }}
4130 name: checkout repo openvmm
4131 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4132 - name: report cloned repo directories
4133 run: |-
4134 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
4135 ${{ github.workspace }}
4136 EOF
4137 flowey.exe e 24 flowey_lib_common::git_checkout 3
4138 flowey.exe e 24 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4139 flowey.exe e 24 flowey_lib_hvlite::run_cargo_nextest_run 0
4140 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 5
4141 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 6
4142 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 1
4143 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 0
4144 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 9
4145 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 2
4146 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 4
4147 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 11
4148 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 10
4149 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 3
4150 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 8
4151 shell: bash
4152 - name: creating new test content dir
4153 run: flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
4154 shell: bash
4155 - name: resolve OpenHCL igvm artifact
4156 run: flowey.exe e 24 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
4157 shell: bash
4158 - name: create gh-release-download cache dir
4159 run: flowey.exe e 24 flowey_lib_common::download_gh_release 0
4160 shell: bash
4161 - name: Pre-processing cache vars
4162 run: |-
4163 flowey.exe e 24 flowey_lib_common::cache 8
4164 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
4165 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
4166 shell: bash
4167 - id: flowey_lib_common__cache__9
4168 uses: actions/cache@v5
4169 with:
4170 key: ${{ env.floweyvar8 }}
4171 path: ${{ env.floweyvar9 }}
4172 name: 'Restore cache: gh-release-download'
4173 - name: download artifacts from github releases
4174 run: |-
4175 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
4176 ${{ steps.flowey_lib_common__cache__9.outputs.cache-hit }}
4177 EOF
4178 flowey.exe e 24 flowey_lib_common::cache 10
4179 flowey.exe e 24 flowey_lib_common::download_gh_release 1
4180 shell: bash
4181 - name: extract azcopy from archive
4182 run: flowey.exe e 24 flowey_lib_common::download_azcopy 0
4183 shell: bash
4184 - name: calculating required VMM tests disk images
4185 run: flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
4186 shell: bash
4187 - name: downloading VMM test disk images
4188 run: |-
4189 flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
4190 flowey.exe e 24 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
4191 shell: bash
4192 - name: create gh cache dir
4193 run: flowey.exe e 24 flowey_lib_common::download_gh_cli 0
4194 shell: bash
4195 - name: Pre-processing cache vars
4196 run: |-
4197 flowey.exe e 24 flowey_lib_common::cache 4
4198 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
4199 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
4200 shell: bash
4201 - id: flowey_lib_common__cache__5
4202 uses: actions/cache@v5
4203 with:
4204 key: ${{ env.floweyvar6 }}
4205 path: ${{ env.floweyvar7 }}
4206 name: 'Restore cache: gh-cli'
4207 - name: installing gh
4208 run: |-
4209 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
4210 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4211 EOF
4212 flowey.exe e 24 flowey_lib_common::cache 6
4213 flowey.exe e 24 flowey_lib_common::download_gh_cli 1
4214 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
4215 ${{ github.token }}
4216 EOF
4217 shell: bash
4218 - name: setup gh cli
4219 run: flowey.exe e 24 flowey_lib_common::use_gh_cli 0
4220 shell: bash
4221 - name: get latest completed action id
4222 run: flowey.exe e 24 flowey_lib_common::gh_latest_completed_workflow_id 0
4223 shell: bash
4224 - name: download artifacts from github actions run
4225 run: flowey.exe e 24 flowey_lib_common::download_gh_artifact 0
4226 shell: bash
4227 - name: write to directory variables
4228 run: flowey.exe e 24 flowey_lib_hvlite::download_release_igvm_files_from_gh::resolve 0
4229 shell: bash
4230 - name: unpack openvmm-deps archive
4231 run: flowey.exe e 24 flowey_lib_hvlite::resolve_openvmm_deps 0
4232 shell: bash
4233 - name: unpack mu_msvm package (x64)
4234 run: flowey.exe e 24 flowey_lib_hvlite::download_uefi_mu_msvm 0
4235 shell: bash
4236 - name: setting up vmm_tests env
4237 run: |-
4238 flowey.exe e 24 flowey_lib_hvlite::init_vmm_tests_env 0
4239 flowey.exe e 24 flowey_lib_hvlite::run_cargo_nextest_run 1
4240 flowey.exe e 24 flowey_core::pipeline::artifact::resolve 12
4241 flowey.exe e 24 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
4242 shell: bash
4243 - name: generate nextest command
4244 run: flowey.exe e 24 flowey_lib_common::gen_cargo_nextest_run_cmd 0
4245 shell: bash
4246 - name: install vmm tests deps (windows)
4247 run: flowey.exe e 24 flowey_lib_hvlite::install_vmm_tests_deps 0
4248 shell: bash
4249 - name: starting test_igvm_agent_rpc_server
4250 run: flowey.exe e 24 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
4251 shell: bash
4252 - name: run 'vmm_tests' nextest tests
4253 run: |-
4254 flowey.exe e 24 flowey_lib_common::run_cargo_nextest_run 0
4255 flowey.exe e 24 flowey_lib_common::run_cargo_nextest_run 1
4256 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
4257 shell: bash
4258 - name: stopping test_igvm_agent_rpc_server
4259 run: |-
4260 flowey.exe e 24 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
4261 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
4262 flowey.exe e 24 flowey_lib_common::publish_test_results 4
4263 flowey.exe e 24 flowey_lib_common::publish_test_results 5
4264 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
4265 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
4266 shell: bash
4267 - id: flowey_lib_common__publish_test_results__6
4268 uses: actions/upload-artifact@v7
4269 with:
4270 name: x64-windows-intel-mi-secure-vmm-tests-logs
4271 path: ${{ env.floweyvar2 }}
4272 name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (logs)'
4273 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4274 - name: πŸ¦€ flowey rust steps
4275 run: |-
4276 flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
4277 flowey.exe e 24 flowey_lib_common::publish_test_results 0
4278 flowey.exe e 24 flowey_lib_common::publish_test_results 1
4279 flowey.exe e 24 flowey_lib_common::publish_test_results 2
4280 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
4281 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
4282 shell: bash
4283 - id: flowey_lib_common__publish_test_results__3
4284 uses: actions/upload-artifact@v7
4285 with:
4286 name: x64-windows-intel-mi-secure-vmm-tests-junit-xml
4287 path: ${{ env.floweyvar1 }}
4288 name: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (JUnit XML)'
4289 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4290 - name: report test results to overall pipeline status
4291 run: flowey.exe e 24 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
4292 shell: bash
4293 - name: 'validate cache entry: cargo-nextest'
4294 run: flowey.exe e 24 flowey_lib_common::cache 3
4295 shell: bash
4296 - name: 'validate cache entry: gh-cli'
4297 run: flowey.exe e 24 flowey_lib_common::cache 7
4298 shell: bash
4299 - name: 'validate cache entry: gh-release-download'
4300 run: flowey.exe e 24 flowey_lib_common::cache 11
4301 shell: bash
4302 job3:
4303 name: build artifacts (for VMM tests) [aarch64-windows]
4304 runs-on:
4305 - self-hosted
4306 - 1ES.Pool=openvmm-gh-amd-westus3
4307 - 1ES.ImageOverride=win-amd64
4308 - JobId=job3-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
4309 permissions:
4310 contents: read
4311 id-token: write
4312 needs:
4313 - job0
4314 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
4315 steps:
4316 - run: |
4317 set -x
4318 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
4319 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
4320 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
4321 . "$HOME/.cargo/env"
4322 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
4323 rustup show
4324 if: runner.os == 'Linux'
4325 name: rustup (Linux)
4326 shell: bash
4327 - run: |
4328 set -x
4329 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
4330 ./rustup-init.exe -y --default-toolchain=1.94.0
4331 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
4332 if: runner.os == 'Windows' && runner.arch == 'X64'
4333 name: rustup (Windows X64)
4334 shell: bash
4335 - run: |
4336 set -x
4337 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
4338 ./rustup-init.exe -y --default-toolchain=1.94.0
4339 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
4340 if: runner.os == 'Windows' && runner.arch == 'ARM64'
4341 name: rustup (Windows ARM64)
4342 shell: bash
4343 - uses: actions/checkout@v6
4344 with:
4345 path: flowey_bootstrap
4346 - name: Build flowey
4347 run: |
4348 set -x
4349 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
4350 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4351 mkdir -p "$OutDirNormal"
4352 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
4353 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
4354 working-directory: flowey_bootstrap
4355 shell: bash
4356 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
4357 shell: bash
4358 name: πŸŒΌπŸ“¦ Add flowey to PATH
4359 - name: πŸŒΌπŸ”Ž Self-check YAML
4360 run: |-
4361 ESCAPED_AGENT_TEMPDIR=$(
4362 cat <<'EOF' | sed 's/\\/\\\\/g'
4363 ${{ runner.temp }}
4364 EOF
4365 )
4366 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
4367 shell: bash
4368 - name: πŸŒΌπŸ›« Initialize job
4369 run: |
4370 AgentTempDirNormal="${{ runner.temp }}"
4371 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4372 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4373
4374 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
4375
4376 echo '"debug"' | flowey.exe v 3 'FLOWEY_LOG' update
4377 echo "${{ runner.temp }}/work" | flowey.exe v 3 '_internal_WORKING_DIR' --is-raw-string update
4378
4379 cat <<'EOF' | flowey.exe v 3 'verbose' update
4380 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4381 EOF
4382 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-openvmm"
4383 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-openvmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update
4384 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-pipette"
4385 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-pipette" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update
4386 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-prep_steps"
4387 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-prep_steps" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-prep_steps' --is-raw-string update
4388 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server"
4389 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-test_igvm_agent_rpc_server" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-test_igvm_agent_rpc_server' --is-raw-string update
4390 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tmk_vmm"
4391 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tmk_vmm" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-tmk_vmm' --is-raw-string update
4392 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-tpm_guest_tests"
4393 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-tpm_guest_tests" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-tpm_guest_tests' --is-raw-string update
4394 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgstool"
4395 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgstool" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-vmgstool' --is-raw-string update
4396 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-tests-archive"
4397 echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 3 'artifact_publish_from_aarch64-windows-vmm-tests-archive' --is-raw-string update
4398 shell: bash
4399 - name: add default cargo home to path
4400 run: flowey.exe e 3 flowey_lib_common::install_rust 0
4401 shell: bash
4402 - name: install Rust
4403 run: flowey.exe e 3 flowey_lib_common::install_rust 1
4404 shell: bash
4405 - name: detect active toolchain
4406 run: |-
4407 flowey.exe e 3 flowey_lib_common::install_rust 2
4408 flowey.exe e 3 flowey_lib_common::cfg_cargo_common_flags 0
4409 shell: bash
4410 - name: check if openvmm needs to be cloned
4411 run: |-
4412 flowey.exe e 3 flowey_lib_common::git_checkout 0
4413 flowey.exe v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
4414 flowey.exe v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
4415 shell: bash
4416 - id: flowey_lib_common__git_checkout__1
4417 uses: actions/checkout@v6
4418 with:
4419 fetch-depth: '1'
4420 path: repo0
4421 persist-credentials: ${{ env.floweyvar1 }}
4422 name: checkout repo openvmm
4423 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4424 - name: report cloned repo directories
4425 run: |-
4426 flowey.exe v 3 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
4427 ${{ github.workspace }}
4428 EOF
4429 flowey.exe e 3 flowey_lib_common::git_checkout 3
4430 flowey.exe e 3 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4431 shell: bash
4432 - name: set '-Dwarnings' in .cargo/config.toml
4433 run: flowey.exe e 3 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
4434 shell: bash
4435 - name: create gh-release-download cache dir
4436 run: flowey.exe e 3 flowey_lib_common::download_gh_release 0
4437 shell: bash
4438 - name: Pre-processing cache vars
4439 run: |-
4440 flowey.exe e 3 flowey_lib_common::cache 4
4441 flowey.exe v 3 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
4442 flowey.exe v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
4443 shell: bash
4444 - id: flowey_lib_common__cache__5
4445 uses: actions/cache@v5
4446 with:
4447 key: ${{ env.floweyvar4 }}
4448 path: ${{ env.floweyvar5 }}
4449 name: 'Restore cache: gh-release-download'
4450 - name: download artifacts from github releases
4451 run: |-
4452 flowey.exe v 3 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
4453 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4454 EOF
4455 flowey.exe e 3 flowey_lib_common::cache 6
4456 flowey.exe e 3 flowey_lib_common::download_gh_release 1
4457 shell: bash
4458 - name: unpack protoc
4459 run: |-
4460 flowey.exe e 3 flowey_lib_common::resolve_protoc 0
4461 flowey.exe e 3 flowey_lib_hvlite::cfg_openvmm_magicpath 0
4462 shell: bash
4463 - name: symlink protoc
4464 run: |-
4465 flowey.exe e 3 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
4466 flowey.exe e 3 flowey_lib_hvlite::init_cross_build 2
4467 shell: bash
4468 - name: cargo build tmk_vmm
4469 run: |-
4470 flowey.exe e 3 flowey_lib_common::run_cargo_build 4
4471 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 6
4472 flowey.exe e 3 flowey_lib_hvlite::build_tmk_vmm 0
4473 flowey.exe e 3 flowey_core::pipeline::artifact::publish 4
4474 flowey.exe e 3 flowey_lib_hvlite::init_cross_build 7
4475 shell: bash
4476 - name: cargo build prep_steps
4477 run: |-
4478 flowey.exe e 3 flowey_lib_common::run_cargo_build 2
4479 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 2
4480 flowey.exe e 3 flowey_lib_hvlite::build_prep_steps 0
4481 flowey.exe e 3 flowey_core::pipeline::artifact::publish 5
4482 flowey.exe e 3 flowey_lib_hvlite::init_cross_build 4
4483 shell: bash
4484 - name: cargo build vmgstool
4485 run: |-
4486 flowey.exe e 3 flowey_lib_common::run_cargo_build 6
4487 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 10
4488 flowey.exe e 3 flowey_lib_hvlite::build_vmgstool 0
4489 flowey.exe e 3 flowey_core::pipeline::artifact::publish 6
4490 flowey.exe e 3 flowey_lib_hvlite::init_cross_build 3
4491 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 7
4492 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 8
4493 shell: bash
4494 - name: cargo build tpm_guest_tests
4495 run: |-
4496 flowey.exe e 3 flowey_lib_common::run_cargo_build 5
4497 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 9
4498 flowey.exe e 3 flowey_lib_hvlite::build_tpm_guest_tests 0
4499 flowey.exe e 3 flowey_core::pipeline::artifact::publish 7
4500 flowey.exe e 3 flowey_lib_hvlite::init_cross_build 1
4501 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 3
4502 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 4
4503 shell: bash
4504 - name: cargo build test_igvm_agent_rpc_server
4505 run: |-
4506 flowey.exe e 3 flowey_lib_common::run_cargo_build 3
4507 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 5
4508 flowey.exe e 3 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0
4509 flowey.exe e 3 flowey_core::pipeline::artifact::publish 0
4510 shell: bash
4511 - name: create cargo-nextest cache dir
4512 run: |-
4513 flowey.exe e 3 flowey_lib_common::download_cargo_nextest 0
4514 flowey.exe e 3 flowey_lib_common::download_cargo_nextest 1
4515 flowey.exe e 3 flowey_lib_common::download_cargo_nextest 2
4516 flowey.exe e 3 flowey_lib_common::download_cargo_nextest 3
4517 shell: bash
4518 - name: Pre-processing cache vars
4519 run: |-
4520 flowey.exe e 3 flowey_lib_common::cache 0
4521 flowey.exe v 3 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
4522 flowey.exe v 3 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
4523 shell: bash
4524 - id: flowey_lib_common__cache__1
4525 uses: actions/cache@v5
4526 with:
4527 key: ${{ env.floweyvar2 }}
4528 path: ${{ env.floweyvar3 }}
4529 name: 'Restore cache: cargo-nextest'
4530 - name: downloading cargo-nextest
4531 run: |-
4532 flowey.exe v 3 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
4533 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4534 EOF
4535 flowey.exe e 3 flowey_lib_common::cache 2
4536 flowey.exe e 3 flowey_lib_common::download_cargo_nextest 4
4537 shell: bash
4538 - name: report $CARGO_HOME
4539 run: flowey.exe e 3 flowey_lib_common::install_rust 3
4540 shell: bash
4541 - name: installing cargo-nextest
4542 run: |-
4543 flowey.exe e 3 flowey_lib_common::install_cargo_nextest 0
4544 flowey.exe e 3 flowey_lib_hvlite::init_cross_build 0
4545 shell: bash
4546 - name: build + archive 'vmm_tests' nextests
4547 run: |-
4548 flowey.exe e 3 flowey_lib_common::run_cargo_nextest_archive 0
4549 flowey.exe e 3 flowey_lib_hvlite::build_nextest_vmm_tests 0
4550 flowey.exe e 3 flowey_core::pipeline::artifact::publish 1
4551 flowey.exe e 3 flowey_lib_hvlite::init_cross_build 5
4552 shell: bash
4553 - name: cargo build openvmm
4554 run: |-
4555 flowey.exe e 3 flowey_lib_common::run_cargo_build 0
4556 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 0
4557 flowey.exe e 3 flowey_lib_hvlite::build_openvmm 0
4558 flowey.exe e 3 flowey_core::pipeline::artifact::publish 2
4559 flowey.exe e 3 flowey_lib_hvlite::init_cross_build 6
4560 shell: bash
4561 - name: cargo build pipette
4562 run: |-
4563 flowey.exe e 3 flowey_lib_common::run_cargo_build 1
4564 flowey.exe e 3 flowey_lib_hvlite::run_cargo_build 1
4565 flowey.exe e 3 flowey_lib_hvlite::build_pipette 0
4566 flowey.exe e 3 flowey_core::pipeline::artifact::publish 3
4567 shell: bash
4568 - name: 'validate cache entry: cargo-nextest'
4569 run: flowey.exe e 3 flowey_lib_common::cache 3
4570 shell: bash
4571 - name: 'validate cache entry: gh-release-download'
4572 run: flowey.exe e 3 flowey_lib_common::cache 7
4573 shell: bash
4574 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-openvmm
4575 uses: actions/upload-artifact@v7
4576 with:
4577 name: aarch64-windows-openvmm
4578 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-openvmm/
4579 include-hidden-files: true
4580 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-pipette
4581 uses: actions/upload-artifact@v7
4582 with:
4583 name: aarch64-windows-pipette
4584 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-pipette/
4585 include-hidden-files: true
4586 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-prep_steps
4587 uses: actions/upload-artifact@v7
4588 with:
4589 name: aarch64-windows-prep_steps
4590 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-prep_steps/
4591 include-hidden-files: true
4592 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-test_igvm_agent_rpc_server
4593 uses: actions/upload-artifact@v7
4594 with:
4595 name: aarch64-windows-test_igvm_agent_rpc_server
4596 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server/
4597 include-hidden-files: true
4598 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-tmk_vmm
4599 uses: actions/upload-artifact@v7
4600 with:
4601 name: aarch64-windows-tmk_vmm
4602 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tmk_vmm/
4603 include-hidden-files: true
4604 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-tpm_guest_tests
4605 uses: actions/upload-artifact@v7
4606 with:
4607 name: aarch64-windows-tpm_guest_tests
4608 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-tpm_guest_tests/
4609 include-hidden-files: true
4610 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmgstool
4611 uses: actions/upload-artifact@v7
4612 with:
4613 name: aarch64-windows-vmgstool
4614 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgstool/
4615 include-hidden-files: true
4616 - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-tests-archive
4617 uses: actions/upload-artifact@v7
4618 with:
4619 name: aarch64-windows-vmm-tests-archive
4620 path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-tests-archive/
4621 include-hidden-files: true
4622 job4:
4623 name: build artifacts (not for VMM tests) [x64-windows]
4624 runs-on:
4625 - self-hosted
4626 - 1ES.Pool=openvmm-gh-amd-westus3
4627 - 1ES.ImageOverride=win-amd64
4628 - JobId=job4-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
4629 permissions:
4630 contents: read
4631 id-token: write
4632 needs:
4633 - job0
4634 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
4635 steps:
4636 - run: |
4637 set -x
4638 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
4639 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
4640 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
4641 . "$HOME/.cargo/env"
4642 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
4643 rustup show
4644 if: runner.os == 'Linux'
4645 name: rustup (Linux)
4646 shell: bash
4647 - run: |
4648 set -x
4649 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
4650 ./rustup-init.exe -y --default-toolchain=1.94.0
4651 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
4652 if: runner.os == 'Windows' && runner.arch == 'X64'
4653 name: rustup (Windows X64)
4654 shell: bash
4655 - run: |
4656 set -x
4657 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
4658 ./rustup-init.exe -y --default-toolchain=1.94.0
4659 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
4660 if: runner.os == 'Windows' && runner.arch == 'ARM64'
4661 name: rustup (Windows ARM64)
4662 shell: bash
4663 - uses: actions/checkout@v6
4664 with:
4665 path: flowey_bootstrap
4666 - name: Build flowey
4667 run: |
4668 set -x
4669 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
4670 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4671 mkdir -p "$OutDirNormal"
4672 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
4673 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
4674 working-directory: flowey_bootstrap
4675 shell: bash
4676 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
4677 shell: bash
4678 name: πŸŒΌπŸ“¦ Add flowey to PATH
4679 - name: πŸŒΌπŸ”Ž Self-check YAML
4680 run: |-
4681 ESCAPED_AGENT_TEMPDIR=$(
4682 cat <<'EOF' | sed 's/\\/\\\\/g'
4683 ${{ runner.temp }}
4684 EOF
4685 )
4686 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
4687 shell: bash
4688 - name: πŸŒΌπŸ›« Initialize job
4689 run: |
4690 AgentTempDirNormal="${{ runner.temp }}"
4691 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4692 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4693
4694 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
4695
4696 echo '"debug"' | flowey.exe v 4 'FLOWEY_LOG' update
4697 echo "${{ runner.temp }}/work" | flowey.exe v 4 '_internal_WORKING_DIR' --is-raw-string update
4698
4699 cat <<'EOF' | flowey.exe v 4 'verbose' update
4700 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4701 EOF
4702 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-hypestv"
4703 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-hypestv" | flowey.exe v 4 'artifact_publish_from_x64-windows-hypestv' --is-raw-string update
4704 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-igvmfilegen"
4705 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-igvmfilegen" | flowey.exe v 4 'artifact_publish_from_x64-windows-igvmfilegen' --is-raw-string update
4706 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-ohcldiag-dev"
4707 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update
4708 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib"
4709 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update
4710 shell: bash
4711 - name: add default cargo home to path
4712 run: flowey.exe e 4 flowey_lib_common::install_rust 0
4713 shell: bash
4714 - name: install Rust
4715 run: flowey.exe e 4 flowey_lib_common::install_rust 1
4716 shell: bash
4717 - name: detect active toolchain
4718 run: |-
4719 flowey.exe e 4 flowey_lib_common::install_rust 2
4720 flowey.exe e 4 flowey_lib_common::cfg_cargo_common_flags 0
4721 shell: bash
4722 - name: check if openvmm needs to be cloned
4723 run: |-
4724 flowey.exe e 4 flowey_lib_common::git_checkout 0
4725 flowey.exe v 4 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
4726 flowey.exe v 4 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
4727 shell: bash
4728 - id: flowey_lib_common__git_checkout__1
4729 uses: actions/checkout@v6
4730 with:
4731 fetch-depth: '1'
4732 path: repo0
4733 persist-credentials: ${{ env.floweyvar1 }}
4734 name: checkout repo openvmm
4735 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4736 - name: report cloned repo directories
4737 run: |-
4738 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
4739 ${{ github.workspace }}
4740 EOF
4741 flowey.exe e 4 flowey_lib_common::git_checkout 3
4742 flowey.exe e 4 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4743 shell: bash
4744 - name: set '-Dwarnings' in .cargo/config.toml
4745 run: flowey.exe e 4 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
4746 shell: bash
4747 - name: create gh-release-download cache dir
4748 run: flowey.exe e 4 flowey_lib_common::download_gh_release 0
4749 shell: bash
4750 - name: Pre-processing cache vars
4751 run: |-
4752 flowey.exe e 4 flowey_lib_common::cache 0
4753 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
4754 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
4755 shell: bash
4756 - id: flowey_lib_common__cache__1
4757 uses: actions/cache@v5
4758 with:
4759 key: ${{ env.floweyvar2 }}
4760 path: ${{ env.floweyvar3 }}
4761 name: 'Restore cache: gh-release-download'
4762 - name: download artifacts from github releases
4763 run: |-
4764 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
4765 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
4766 EOF
4767 flowey.exe e 4 flowey_lib_common::cache 2
4768 flowey.exe e 4 flowey_lib_common::download_gh_release 1
4769 shell: bash
4770 - name: unpack protoc
4771 run: |-
4772 flowey.exe e 4 flowey_lib_common::resolve_protoc 0
4773 flowey.exe e 4 flowey_lib_hvlite::cfg_openvmm_magicpath 0
4774 shell: bash
4775 - name: symlink protoc
4776 run: |-
4777 flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
4778 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1
4779 shell: bash
4780 - name: cargo build hypestv
4781 run: |-
4782 flowey.exe e 4 flowey_lib_common::run_cargo_build 0
4783 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 0
4784 flowey.exe e 4 flowey_lib_hvlite::build_hypestv 0
4785 flowey.exe e 4 flowey_core::pipeline::artifact::publish 0
4786 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 0
4787 shell: bash
4788 - name: cargo build vmgs_lib
4789 run: |-
4790 flowey.exe e 4 flowey_lib_common::run_cargo_build 3
4791 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 3
4792 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0
4793 shell: bash
4794 - name: test vmgs_lib
4795 run: |-
4796 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1
4797 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 2
4798 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1
4799 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2
4800 shell: bash
4801 - name: cargo build igvmfilegen
4802 run: |-
4803 flowey.exe e 4 flowey_lib_common::run_cargo_build 1
4804 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1
4805 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0
4806 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2
4807 flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3
4808 shell: bash
4809 - name: cargo build ohcldiag-dev
4810 run: |-
4811 flowey.exe e 4 flowey_lib_common::run_cargo_build 2
4812 flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2
4813 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0
4814 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3
4815 shell: bash
4816 - name: 'validate cache entry: gh-release-download'
4817 run: flowey.exe e 4 flowey_lib_common::cache 3
4818 shell: bash
4819 - name: πŸŒΌπŸ“¦ Publish x64-windows-hypestv
4820 uses: actions/upload-artifact@v7
4821 with:
4822 name: x64-windows-hypestv
4823 path: ${{ runner.temp }}/publish_artifacts/x64-windows-hypestv/
4824 include-hidden-files: true
4825 - name: πŸŒΌπŸ“¦ Publish x64-windows-igvmfilegen
4826 uses: actions/upload-artifact@v7
4827 with:
4828 name: x64-windows-igvmfilegen
4829 path: ${{ runner.temp }}/publish_artifacts/x64-windows-igvmfilegen/
4830 include-hidden-files: true
4831 - name: πŸŒΌπŸ“¦ Publish x64-windows-ohcldiag-dev
4832 uses: actions/upload-artifact@v7
4833 with:
4834 name: x64-windows-ohcldiag-dev
4835 path: ${{ runner.temp }}/publish_artifacts/x64-windows-ohcldiag-dev/
4836 include-hidden-files: true
4837 - name: πŸŒΌπŸ“¦ Publish x64-windows-vmgs_lib
4838 uses: actions/upload-artifact@v7
4839 with:
4840 name: x64-windows-vmgs_lib
4841 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/
4842 include-hidden-files: true
4843 job5:
4844 name: build artifacts (for VMM tests) [x64-windows]
4845 runs-on:
4846 - self-hosted
4847 - 1ES.Pool=openvmm-gh-amd-westus3
4848 - 1ES.ImageOverride=win-amd64
4849 - JobId=job5-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
4850 permissions:
4851 contents: read
4852 id-token: write
4853 needs:
4854 - job0
4855 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
4856 steps:
4857 - run: |
4858 set -x
4859 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
4860 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
4861 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.94.0 -y
4862 . "$HOME/.cargo/env"
4863 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
4864 rustup show
4865 if: runner.os == 'Linux'
4866 name: rustup (Linux)
4867 shell: bash
4868 - run: |
4869 set -x
4870 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
4871 ./rustup-init.exe -y --default-toolchain=1.94.0
4872 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
4873 if: runner.os == 'Windows' && runner.arch == 'X64'
4874 name: rustup (Windows X64)
4875 shell: bash
4876 - run: |
4877 set -x
4878 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
4879 ./rustup-init.exe -y --default-toolchain=1.94.0
4880 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
4881 if: runner.os == 'Windows' && runner.arch == 'ARM64'
4882 name: rustup (Windows ARM64)
4883 shell: bash
4884 - uses: actions/checkout@v6
4885 with:
4886 path: flowey_bootstrap
4887 - name: Build flowey
4888 run: |
4889 set -x
4890 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
4891 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4892 mkdir -p "$OutDirNormal"
4893 mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml"
4894 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
4895 working-directory: flowey_bootstrap
4896 shell: bash
4897 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
4898 shell: bash
4899 name: πŸŒΌπŸ“¦ Add flowey to PATH
4900 - name: πŸŒΌπŸ”Ž Self-check YAML
4901 run: |-
4902 ESCAPED_AGENT_TEMPDIR=$(
4903 cat <<'EOF' | sed 's/\\/\\\\/g'
4904 ${{ runner.temp }}
4905 EOF
4906 )
4907 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release
4908 shell: bash
4909 - name: πŸŒΌπŸ›« Initialize job
4910 run: |
4911 AgentTempDirNormal="${{ runner.temp }}"
4912 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4913 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
4914
4915 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
4916
4917 echo '"debug"' | flowey.exe v 5 'FLOWEY_LOG' update
4918 echo "${{ runner.temp }}/work" | flowey.exe v 5 '_internal_WORKING_DIR' --is-raw-string update
4919
4920 cat <<'EOF' | flowey.exe v 5 'verbose' update
4921 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
4922 EOF
4923 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-openvmm"
4924 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-openvmm" | flowey.exe v 5 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update
4925 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-pipette"
4926 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-pipette" | flowey.exe v 5 'artifact_publish_from_x64-windows-pipette' --is-raw-string update
4927 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-prep_steps"
4928 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-prep_steps" | flowey.exe v 5 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update
4929 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-test_igvm_agent_rpc_server"
4930 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-test_igvm_agent_rpc_server" | flowey.exe v 5 'artifact_publish_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
4931 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tmk_vmm"
4932 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tmk_vmm" | flowey.exe v 5 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update
4933 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-tpm_guest_tests"
4934 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-tpm_guest_tests" | flowey.exe v 5 'artifact_publish_from_x64-windows-tpm_guest_tests' --is-raw-string update
4935 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgstool"
4936 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgstool" | flowey.exe v 5 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update
4937 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-tests-archive"
4938 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 5 'artifact_publish_from_x64-windows-vmm-tests-archive' --is-raw-string update
4939 shell: bash
4940 - name: add default cargo home to path
4941 run: flowey.exe e 5 flowey_lib_common::install_rust 0
4942 shell: bash
4943 - name: install Rust
4944 run: flowey.exe e 5 flowey_lib_common::install_rust 1
4945 shell: bash
4946 - name: detect active toolchain
4947 run: |-
4948 flowey.exe e 5 flowey_lib_common::install_rust 2
4949 flowey.exe e 5 flowey_lib_common::cfg_cargo_common_flags 0
4950 shell: bash
4951 - name: check if openvmm needs to be cloned
4952 run: |-
4953 flowey.exe e 5 flowey_lib_common::git_checkout 0
4954 flowey.exe v 5 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
4955 flowey.exe v 5 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
4956 shell: bash
4957 - id: flowey_lib_common__git_checkout__1
4958 uses: actions/checkout@v6
4959 with:
4960 fetch-depth: '1'
4961 path: repo0
4962 persist-credentials: ${{ env.floweyvar1 }}
4963 name: checkout repo openvmm
4964 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
4965 - name: report cloned repo directories
4966 run: |-
4967 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
4968 ${{ github.workspace }}
4969 EOF
4970 flowey.exe e 5 flowey_lib_common::git_checkout 3
4971 flowey.exe e 5 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4972 shell: bash
4973 - name: set '-Dwarnings' in .cargo/config.toml
4974 run: flowey.exe e 5 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
4975 shell: bash
4976 - name: create gh-release-download cache dir
4977 run: flowey.exe e 5 flowey_lib_common::download_gh_release 0
4978 shell: bash
4979 - name: Pre-processing cache vars
4980 run: |-
4981 flowey.exe e 5 flowey_lib_common::cache 4
4982 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
4983 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
4984 shell: bash
4985 - id: flowey_lib_common__cache__5
4986 uses: actions/cache@v5
4987 with:
4988 key: ${{ env.floweyvar4 }}
4989 path: ${{ env.floweyvar5 }}
4990 name: 'Restore cache: gh-release-download'
4991 - name: download artifacts from github releases
4992 run: |-
4993 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
4994 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
4995 EOF
4996 flowey.exe e 5 flowey_lib_common::cache 6
4997 flowey.exe e 5 flowey_lib_common::download_gh_release 1
4998 shell: bash
4999 - name: unpack protoc
5000 run: |-
5001 flowey.exe e 5 flowey_lib_common::resolve_protoc 0
5002 flowey.exe e 5 flowey_lib_hvlite::cfg_openvmm_magicpath 0
5003 shell: bash
5004 - name: symlink protoc
5005 run: |-
5006 flowey.exe e 5 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
5007 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 5
5008 shell: bash
5009 - name: cargo build openvmm
5010 run: |-
5011 flowey.exe e 5 flowey_lib_common::run_cargo_build 0
5012 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 0
5013 flowey.exe e 5 flowey_lib_hvlite::build_openvmm 0
5014 flowey.exe e 5 flowey_core::pipeline::artifact::publish 0
5015 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 6
5016 shell: bash
5017 - name: cargo build pipette
5018 run: |-
5019 flowey.exe e 5 flowey_lib_common::run_cargo_build 1
5020 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 1
5021 flowey.exe e 5 flowey_lib_hvlite::build_pipette 0
5022 flowey.exe e 5 flowey_core::pipeline::artifact::publish 1
5023 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 2
5024 shell: bash
5025 - name: cargo build tmk_vmm
5026 run: |-
5027 flowey.exe e 5 flowey_lib_common::run_cargo_build 4
5028 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 6
5029 flowey.exe e 5 flowey_lib_hvlite::build_tmk_vmm 0
5030 flowey.exe e 5 flowey_core::pipeline::artifact::publish 2
5031 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 7
5032 shell: bash
5033 - name: cargo build prep_steps
5034 run: |-
5035 flowey.exe e 5 flowey_lib_common::run_cargo_build 2
5036 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 2
5037 flowey.exe e 5 flowey_lib_hvlite::build_prep_steps 0
5038 flowey.exe e 5 flowey_core::pipeline::artifact::publish 3
5039 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 4
5040 shell: bash
5041 - name: cargo build vmgstool
5042 run: |-
5043 flowey.exe e 5 flowey_lib_common::run_cargo_build 6
5044 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 10
5045 flowey.exe e 5 flowey_lib_hvlite::build_vmgstool 0
5046 flowey.exe e 5 flowey_core::pipeline::artifact::publish 4
5047 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 3
5048 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 7
5049 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 8
5050 shell: bash
5051 - name: cargo build tpm_guest_tests
5052 run: |-
5053 flowey.exe e 5 flowey_lib_common::run_cargo_build 5
5054 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 9
5055 flowey.exe e 5 flowey_lib_hvlite::build_tpm_guest_tests 0
5056 flowey.exe e 5 flowey_core::pipeline::artifact::publish 5
5057 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 1
5058 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 3
5059 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 4
5060 shell: bash
5061 - name: cargo build test_igvm_agent_rpc_server
5062 run: |-
5063 flowey.exe e 5 flowey_lib_common::run_cargo_build 3
5064 flowey.exe e 5 flowey_lib_hvlite::run_cargo_build 5
5065 flowey.exe e 5 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0
5066 flowey.exe e 5 flowey_core::pipeline::artifact::publish 6
5067 shell: bash
5068 - name: create cargo-nextest cache dir
5069 run: |-
5070 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0
5071 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1
5072 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2
5073 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3
5074 shell: bash
5075 - name: Pre-processing cache vars
5076 run: |-
5077 flowey.exe e 5 flowey_lib_common::cache 0
5078 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
5079 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
5080 shell: bash
5081 - id: flowey_lib_common__cache__1
5082 uses: actions/cache@v5
5083 with:
5084 key: ${{ env.floweyvar2 }}
5085 path: ${{ env.floweyvar3 }}
5086 name: 'Restore cache: cargo-nextest'
5087 - name: downloading cargo-nextest
5088 run: |-
5089 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
5090 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5091 EOF
5092 flowey.exe e 5 flowey_lib_common::cache 2
5093 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4
5094 shell: bash
5095 - name: report $CARGO_HOME
5096 run: flowey.exe e 5 flowey_lib_common::install_rust 3
5097 shell: bash
5098 - name: installing cargo-nextest
5099 run: |-
5100 flowey.exe e 5 flowey_lib_common::install_cargo_nextest 0
5101 flowey.exe e 5 flowey_lib_hvlite::init_cross_build 0
5102 shell: bash
5103 - name: build + archive 'vmm_tests' nextests
5104 run: |-
5105 flowey.exe e 5 flowey_lib_common::run_cargo_nextest_archive 0
5106 flowey.exe e 5 flowey_lib_hvlite::build_nextest_vmm_tests 0
5107 flowey.exe e 5 flowey_core::pipeline::artifact::publish 7
5108 shell: bash
5109 - name: 'validate cache entry: cargo-nextest'
5110 run: flowey.exe e 5 flowey_lib_common::cache 3
5111 shell: bash
5112 - name: 'validate cache entry: gh-release-download'
5113 run: flowey.exe e 5 flowey_lib_common::cache 7
5114 shell: bash
5115 - name: πŸŒΌπŸ“¦ Publish x64-windows-openvmm
5116 uses: actions/upload-artifact@v7
5117 with:
5118 name: x64-windows-openvmm
5119 path: ${{ runner.temp }}/publish_artifacts/x64-windows-openvmm/
5120 include-hidden-files: true
5121 - name: πŸŒΌπŸ“¦ Publish x64-windows-pipette
5122 uses: actions/upload-artifact@v7
5123 with:
5124 name: x64-windows-pipette
5125 path: ${{ runner.temp }}/publish_artifacts/x64-windows-pipette/
5126 include-hidden-files: true
5127 - name: πŸŒΌπŸ“¦ Publish x64-windows-prep_steps
5128 uses: actions/upload-artifact@v7
5129 with:
5130 name: x64-windows-prep_steps
5131 path: ${{ runner.temp }}/publish_artifacts/x64-windows-prep_steps/
5132 include-hidden-files: true
5133 - name: πŸŒΌπŸ“¦ Publish x64-windows-test_igvm_agent_rpc_server
5134 uses: actions/upload-artifact@v7
5135 with:
5136 name: x64-windows-test_igvm_agent_rpc_server
5137 path: ${{ runner.temp }}/publish_artifacts/x64-windows-test_igvm_agent_rpc_server/
5138 include-hidden-files: true
5139 - name: πŸŒΌπŸ“¦ Publish x64-windows-tmk_vmm
5140 uses: actions/upload-artifact@v7
5141 with:
5142 name: x64-windows-tmk_vmm
5143 path: ${{ runner.temp }}/publish_artifacts/x64-windows-tmk_vmm/
5144 include-hidden-files: true
5145 - name: πŸŒΌπŸ“¦ Publish x64-windows-tpm_guest_tests
5146 uses: actions/upload-artifact@v7
5147 with:
5148 name: x64-windows-tpm_guest_tests
5149 path: ${{ runner.temp }}/publish_artifacts/x64-windows-tpm_guest_tests/
5150 include-hidden-files: true
5151 - name: πŸŒΌπŸ“¦ Publish x64-windows-vmgstool
5152 uses: actions/upload-artifact@v7
5153 with:
5154 name: x64-windows-vmgstool
5155 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgstool/
5156 include-hidden-files: true
5157 - name: πŸŒΌπŸ“¦ Publish x64-windows-vmm-tests-archive
5158 uses: actions/upload-artifact@v7
5159 with:
5160 name: x64-windows-vmm-tests-archive
5161 path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-tests-archive/
5162 include-hidden-files: true
5163 - name: 🌼🧼 Redact bootstrap var db
5164 run: rm $AgentTempDirNormal/bootstrapped-flowey/job5.json
5165 shell: bash
5166 - name: 🌼πŸ₯Ύ Publish bootstrapped flowey
5167 uses: actions/upload-artifact@v7
5168 with:
5169 name: _internal-flowey-bootstrap-x86_64-windows-uid-6
5170 path: ${{ runner.temp }}/bootstrapped-flowey
5171 job6:
5172 name: build artifacts [aarch64-linux]
5173 runs-on:
5174 - self-hosted
5175 - 1ES.Pool=openvmm-gh-amd-westus3
5176 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
5177 - JobId=job6-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
5178 permissions:
5179 contents: read
5180 id-token: write
5181 needs:
5182 - job0
5183 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
5184 steps:
5185 - name: πŸŒΌπŸ“¦ Download artifacts
5186 uses: actions/download-artifact@v8
5187 with:
5188 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
5189 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
5190 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
5191 shell: bash
5192 name: πŸŒΌπŸ“¦ Add flowey to PATH
5193 - name: πŸŒΌπŸ›« Initialize job
5194 run: |
5195 AgentTempDirNormal="${{ runner.temp }}"
5196 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5197 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5198
5199 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
5200
5201 echo '"debug"' | flowey v 6 'FLOWEY_LOG' update
5202 echo "${{ runner.temp }}/work" | flowey v 6 '_internal_WORKING_DIR' --is-raw-string update
5203
5204 cat <<'EOF' | flowey v 6 'verbose' update
5205 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5206 EOF
5207 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi"
5208 echo "$AgentTempDirNormal/publish_artifacts/aarch64-guest_test_uefi" | flowey v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update
5209 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen"
5210 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-igvmfilegen" | flowey v 6 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update
5211 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev"
5212 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 6 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update
5213 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm"
5214 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" | flowey v 6 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update
5215 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost"
5216 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm_vhost" | flowey v 6 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update
5217 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests"
5218 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-tpm_guest_tests" | flowey v 6 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update
5219 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib"
5220 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgs_lib" | flowey v 6 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update
5221 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool"
5222 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 6 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update
5223 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-tmks"
5224 echo "$AgentTempDirNormal/publish_artifacts/aarch64-tmks" | flowey v 6 'artifact_publish_from_aarch64-tmks' --is-raw-string update
5225 shell: bash
5226 - name: add default cargo home to path
5227 run: flowey e 6 flowey_lib_common::install_rust 0
5228 shell: bash
5229 - name: install Rust
5230 run: flowey e 6 flowey_lib_common::install_rust 1
5231 shell: bash
5232 - name: detect active toolchain
5233 run: |-
5234 flowey e 6 flowey_lib_common::install_rust 2
5235 flowey e 6 flowey_lib_common::cfg_cargo_common_flags 0
5236 shell: bash
5237 - name: checking if packages need to be installed
5238 run: flowey e 6 flowey_lib_common::install_dist_pkg 0
5239 shell: bash
5240 - name: installing packages
5241 run: flowey e 6 flowey_lib_common::install_dist_pkg 1
5242 shell: bash
5243 - name: check if openvmm needs to be cloned
5244 run: |-
5245 flowey e 6 flowey_lib_common::git_checkout 0
5246 flowey v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
5247 flowey v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
5248 shell: bash
5249 - id: flowey_lib_common__git_checkout__1
5250 uses: actions/checkout@v6
5251 with:
5252 fetch-depth: '1'
5253 path: repo0
5254 persist-credentials: ${{ env.floweyvar1 }}
5255 name: checkout repo openvmm
5256 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5257 - name: report cloned repo directories
5258 run: |-
5259 flowey v 6 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
5260 ${{ github.workspace }}
5261 EOF
5262 flowey e 6 flowey_lib_common::git_checkout 3
5263 flowey e 6 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5264 shell: bash
5265 - name: set '-Dwarnings' in .cargo/config.toml
5266 run: flowey e 6 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
5267 shell: bash
5268 - name: create gh-release-download cache dir
5269 run: flowey e 6 flowey_lib_common::download_gh_release 0
5270 shell: bash
5271 - name: Pre-processing cache vars
5272 run: |-
5273 flowey e 6 flowey_lib_common::cache 0
5274 flowey v 6 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
5275 flowey v 6 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
5276 shell: bash
5277 - id: flowey_lib_common__cache__1
5278 uses: actions/cache@v5
5279 with:
5280 key: ${{ env.floweyvar2 }}
5281 path: ${{ env.floweyvar3 }}
5282 name: 'Restore cache: gh-release-download'
5283 - name: download artifacts from github releases
5284 run: |-
5285 flowey v 6 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
5286 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5287 EOF
5288 flowey e 6 flowey_lib_common::cache 2
5289 flowey e 6 flowey_lib_common::download_gh_release 1
5290 shell: bash
5291 - name: unpack protoc
5292 run: |-
5293 flowey e 6 flowey_lib_common::resolve_protoc 0
5294 flowey e 6 flowey_lib_hvlite::cfg_openvmm_magicpath 0
5295 shell: bash
5296 - name: symlink protoc
5297 run: |-
5298 flowey e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
5299 flowey e 6 flowey_lib_hvlite::init_cross_build 2
5300 shell: bash
5301 - name: cargo build openvmm
5302 run: |-
5303 flowey e 6 flowey_lib_common::run_cargo_build 3
5304 flowey e 6 flowey_lib_hvlite::run_cargo_build 5
5305 shell: bash
5306 - name: split debug symbols
5307 run: |-
5308 flowey e 6 flowey_lib_hvlite::run_split_debug_info 1
5309 flowey e 6 flowey_lib_hvlite::run_cargo_build 6
5310 flowey e 6 flowey_lib_hvlite::build_openvmm 0
5311 flowey e 6 flowey_core::pipeline::artifact::publish 0
5312 flowey e 6 flowey_lib_hvlite::init_cross_build 3
5313 shell: bash
5314 - name: cargo build openvmm_vhost
5315 run: |-
5316 flowey e 6 flowey_lib_common::run_cargo_build 4
5317 flowey e 6 flowey_lib_hvlite::run_cargo_build 7
5318 shell: bash
5319 - name: split debug symbols
5320 run: |-
5321 flowey e 6 flowey_lib_hvlite::run_split_debug_info 2
5322 flowey e 6 flowey_lib_hvlite::run_cargo_build 8
5323 flowey e 6 flowey_lib_hvlite::build_openvmm_vhost 0
5324 flowey e 6 flowey_core::pipeline::artifact::publish 1
5325 flowey e 6 flowey_lib_hvlite::init_cross_build 6
5326 shell: bash
5327 - name: cargo build vmgstool
5328 run: |-
5329 flowey e 6 flowey_lib_common::run_cargo_build 8
5330 flowey e 6 flowey_lib_hvlite::run_cargo_build 16
5331 shell: bash
5332 - name: split debug symbols
5333 run: |-
5334 flowey e 6 flowey_lib_hvlite::run_split_debug_info 5
5335 flowey e 6 flowey_lib_hvlite::run_cargo_build 17
5336 flowey e 6 flowey_lib_hvlite::build_vmgstool 0
5337 flowey e 6 flowey_core::pipeline::artifact::publish 2
5338 flowey e 6 flowey_lib_hvlite::init_cross_build 5
5339 shell: bash
5340 - name: cargo build vmgs_lib
5341 run: |-
5342 flowey e 6 flowey_lib_common::run_cargo_build 7
5343 flowey e 6 flowey_lib_hvlite::run_cargo_build 15
5344 flowey e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 0
5345 flowey e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1
5346 flowey e 6 flowey_core::pipeline::artifact::publish 3
5347 flowey e 6 flowey_lib_hvlite::init_cross_build 7
5348 shell: bash
5349 - name: cargo build igvmfilegen
5350 run: |-
5351 flowey e 6 flowey_lib_common::run_cargo_build 1
5352 flowey e 6 flowey_lib_hvlite::run_cargo_build 1
5353 shell: bash
5354 - name: split debug symbols
5355 run: |-
5356 flowey e 6 flowey_lib_hvlite::run_split_debug_info 6
5357 flowey e 6 flowey_lib_hvlite::run_cargo_build 2
5358 flowey e 6 flowey_lib_hvlite::build_igvmfilegen 0
5359 flowey e 6 flowey_core::pipeline::artifact::publish 4
5360 flowey e 6 flowey_lib_hvlite::init_cross_build 1
5361 shell: bash
5362 - name: cargo build ohcldiag-dev
5363 run: |-
5364 flowey e 6 flowey_lib_common::run_cargo_build 2
5365 flowey e 6 flowey_lib_hvlite::run_cargo_build 3
5366 shell: bash
5367 - name: split debug symbols
5368 run: |-
5369 flowey e 6 flowey_lib_hvlite::run_split_debug_info 0
5370 flowey e 6 flowey_lib_hvlite::run_cargo_build 4
5371 flowey e 6 flowey_lib_hvlite::build_ohcldiag_dev 0
5372 flowey e 6 flowey_core::pipeline::artifact::publish 5
5373 flowey e 6 flowey_lib_hvlite::init_cross_build 8
5374 shell: bash
5375 - name: cargo build guest_test_uefi
5376 run: |-
5377 flowey e 6 flowey_lib_common::run_cargo_build 0
5378 flowey e 6 flowey_lib_hvlite::run_cargo_build 0
5379 shell: bash
5380 - name: build guest_test_uefi.img
5381 run: |-
5382 flowey e 6 flowey_lib_hvlite::build_guest_test_uefi 0
5383 flowey e 6 flowey_core::pipeline::artifact::publish 6
5384 flowey e 6 flowey_lib_hvlite::init_cross_build 0
5385 flowey e 6 flowey_lib_hvlite::run_cargo_build 9
5386 flowey e 6 flowey_lib_hvlite::run_cargo_build 10
5387 shell: bash
5388 - name: cargo build simple_tmk
5389 run: |-
5390 flowey e 6 flowey_lib_common::run_cargo_build 5
5391 flowey e 6 flowey_lib_hvlite::run_cargo_build 11
5392 shell: bash
5393 - name: split debug symbols
5394 run: |-
5395 flowey e 6 flowey_lib_hvlite::run_split_debug_info 3
5396 flowey e 6 flowey_lib_hvlite::run_cargo_build 12
5397 flowey e 6 flowey_lib_hvlite::build_tmks 0
5398 flowey e 6 flowey_core::pipeline::artifact::publish 7
5399 flowey e 6 flowey_lib_hvlite::init_cross_build 4
5400 shell: bash
5401 - name: cargo build tpm_guest_tests
5402 run: |-
5403 flowey e 6 flowey_lib_common::run_cargo_build 6
5404 flowey e 6 flowey_lib_hvlite::run_cargo_build 13
5405 shell: bash
5406 - name: split debug symbols
5407 run: |-
5408 flowey e 6 flowey_lib_hvlite::run_split_debug_info 4
5409 flowey e 6 flowey_lib_hvlite::run_cargo_build 14
5410 flowey e 6 flowey_lib_hvlite::build_tpm_guest_tests 0
5411 flowey e 6 flowey_core::pipeline::artifact::publish 8
5412 shell: bash
5413 - name: 'validate cache entry: gh-release-download'
5414 run: flowey e 6 flowey_lib_common::cache 3
5415 shell: bash
5416 - name: πŸŒΌπŸ“¦ Publish aarch64-guest_test_uefi
5417 uses: actions/upload-artifact@v7
5418 with:
5419 name: aarch64-guest_test_uefi
5420 path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/
5421 include-hidden-files: true
5422 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-igvmfilegen
5423 uses: actions/upload-artifact@v7
5424 with:
5425 name: aarch64-linux-igvmfilegen
5426 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-igvmfilegen/
5427 include-hidden-files: true
5428 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev
5429 uses: actions/upload-artifact@v7
5430 with:
5431 name: aarch64-linux-ohcldiag-dev
5432 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-ohcldiag-dev/
5433 include-hidden-files: true
5434 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-openvmm
5435 uses: actions/upload-artifact@v7
5436 with:
5437 name: aarch64-linux-openvmm
5438 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm/
5439 include-hidden-files: true
5440 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-openvmm_vhost
5441 uses: actions/upload-artifact@v7
5442 with:
5443 name: aarch64-linux-openvmm_vhost
5444 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-openvmm_vhost/
5445 include-hidden-files: true
5446 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-tpm_guest_tests
5447 uses: actions/upload-artifact@v7
5448 with:
5449 name: aarch64-linux-tpm_guest_tests
5450 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-tpm_guest_tests/
5451 include-hidden-files: true
5452 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmgs_lib
5453 uses: actions/upload-artifact@v7
5454 with:
5455 name: aarch64-linux-vmgs_lib
5456 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgs_lib/
5457 include-hidden-files: true
5458 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmgstool
5459 uses: actions/upload-artifact@v7
5460 with:
5461 name: aarch64-linux-vmgstool
5462 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool/
5463 include-hidden-files: true
5464 - name: πŸŒΌπŸ“¦ Publish aarch64-tmks
5465 uses: actions/upload-artifact@v7
5466 with:
5467 name: aarch64-tmks
5468 path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/
5469 include-hidden-files: true
5470 job7:
5471 name: build artifacts [x64-linux]
5472 runs-on:
5473 - self-hosted
5474 - 1ES.Pool=openvmm-gh-amd-westus3
5475 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
5476 - JobId=job7-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
5477 permissions:
5478 contents: read
5479 id-token: write
5480 needs:
5481 - job0
5482 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
5483 steps:
5484 - name: πŸŒΌπŸ“¦ Download artifacts
5485 uses: actions/download-artifact@v8
5486 with:
5487 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
5488 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
5489 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
5490 shell: bash
5491 name: πŸŒΌπŸ“¦ Add flowey to PATH
5492 - name: πŸŒΌπŸ›« Initialize job
5493 run: |
5494 AgentTempDirNormal="${{ runner.temp }}"
5495 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5496 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5497
5498 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
5499
5500 echo '"debug"' | flowey v 7 'FLOWEY_LOG' update
5501 echo "${{ runner.temp }}/work" | flowey v 7 '_internal_WORKING_DIR' --is-raw-string update
5502
5503 cat <<'EOF' | flowey v 7 'verbose' update
5504 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5505 EOF
5506 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi"
5507 echo "$AgentTempDirNormal/publish_artifacts/x64-guest_test_uefi" | flowey v 7 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update
5508 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen"
5509 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-igvmfilegen" | flowey v 7 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update
5510 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev"
5511 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" | flowey v 7 'artifact_publish_from_x64-linux-ohcldiag-dev' --is-raw-string update
5512 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm"
5513 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm" | flowey v 7 'artifact_publish_from_x64-linux-openvmm' --is-raw-string update
5514 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost"
5515 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-openvmm_vhost" | flowey v 7 'artifact_publish_from_x64-linux-openvmm_vhost' --is-raw-string update
5516 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests"
5517 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-tpm_guest_tests" | flowey v 7 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update
5518 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib"
5519 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgs_lib" | flowey v 7 'artifact_publish_from_x64-linux-vmgs_lib' --is-raw-string update
5520 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool"
5521 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 7 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update
5522 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive"
5523 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 7 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update
5524 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-tmks"
5525 echo "$AgentTempDirNormal/publish_artifacts/x64-tmks" | flowey v 7 'artifact_publish_from_x64-tmks' --is-raw-string update
5526 shell: bash
5527 - name: add default cargo home to path
5528 run: flowey e 7 flowey_lib_common::install_rust 0
5529 shell: bash
5530 - name: install Rust
5531 run: flowey e 7 flowey_lib_common::install_rust 1
5532 shell: bash
5533 - name: detect active toolchain
5534 run: |-
5535 flowey e 7 flowey_lib_common::install_rust 2
5536 flowey e 7 flowey_lib_common::cfg_cargo_common_flags 0
5537 shell: bash
5538 - name: checking if packages need to be installed
5539 run: flowey e 7 flowey_lib_common::install_dist_pkg 0
5540 shell: bash
5541 - name: installing packages
5542 run: flowey e 7 flowey_lib_common::install_dist_pkg 1
5543 shell: bash
5544 - name: check if openvmm needs to be cloned
5545 run: |-
5546 flowey e 7 flowey_lib_common::git_checkout 0
5547 flowey v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
5548 flowey v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
5549 shell: bash
5550 - id: flowey_lib_common__git_checkout__1
5551 uses: actions/checkout@v6
5552 with:
5553 fetch-depth: '1'
5554 path: repo0
5555 persist-credentials: ${{ env.floweyvar1 }}
5556 name: checkout repo openvmm
5557 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5558 - name: report cloned repo directories
5559 run: |-
5560 flowey v 7 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
5561 ${{ github.workspace }}
5562 EOF
5563 flowey e 7 flowey_lib_common::git_checkout 3
5564 flowey e 7 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5565 shell: bash
5566 - name: set '-Dwarnings' in .cargo/config.toml
5567 run: flowey e 7 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
5568 shell: bash
5569 - name: create gh-release-download cache dir
5570 run: flowey e 7 flowey_lib_common::download_gh_release 0
5571 shell: bash
5572 - name: Pre-processing cache vars
5573 run: |-
5574 flowey e 7 flowey_lib_common::cache 4
5575 flowey v 7 'flowey_lib_common::cache:10:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar4
5576 flowey v 7 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar5
5577 shell: bash
5578 - id: flowey_lib_common__cache__5
5579 uses: actions/cache@v5
5580 with:
5581 key: ${{ env.floweyvar4 }}
5582 path: ${{ env.floweyvar5 }}
5583 name: 'Restore cache: gh-release-download'
5584 - name: download artifacts from github releases
5585 run: |-
5586 flowey v 7 'flowey_lib_common::cache:12:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__5.outputs.cache-hit <<EOF
5587 ${{ steps.flowey_lib_common__cache__5.outputs.cache-hit }}
5588 EOF
5589 flowey e 7 flowey_lib_common::cache 6
5590 flowey e 7 flowey_lib_common::download_gh_release 1
5591 shell: bash
5592 - name: unpack protoc
5593 run: |-
5594 flowey e 7 flowey_lib_common::resolve_protoc 0
5595 flowey e 7 flowey_lib_hvlite::cfg_openvmm_magicpath 0
5596 shell: bash
5597 - name: symlink protoc
5598 run: |-
5599 flowey e 7 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
5600 flowey e 7 flowey_lib_hvlite::init_cross_build 3
5601 shell: bash
5602 - name: cargo build openvmm
5603 run: |-
5604 flowey e 7 flowey_lib_common::run_cargo_build 3
5605 flowey e 7 flowey_lib_hvlite::run_cargo_build 5
5606 shell: bash
5607 - name: split debug symbols
5608 run: |-
5609 flowey e 7 flowey_lib_hvlite::run_split_debug_info 1
5610 flowey e 7 flowey_lib_hvlite::run_cargo_build 6
5611 flowey e 7 flowey_lib_hvlite::build_openvmm 0
5612 flowey e 7 flowey_core::pipeline::artifact::publish 0
5613 flowey e 7 flowey_lib_hvlite::init_cross_build 4
5614 shell: bash
5615 - name: cargo build openvmm_vhost
5616 run: |-
5617 flowey e 7 flowey_lib_common::run_cargo_build 4
5618 flowey e 7 flowey_lib_hvlite::run_cargo_build 7
5619 shell: bash
5620 - name: split debug symbols
5621 run: |-
5622 flowey e 7 flowey_lib_hvlite::run_split_debug_info 2
5623 flowey e 7 flowey_lib_hvlite::run_cargo_build 8
5624 flowey e 7 flowey_lib_hvlite::build_openvmm_vhost 0
5625 flowey e 7 flowey_core::pipeline::artifact::publish 1
5626 flowey e 7 flowey_lib_hvlite::init_cross_build 7
5627 shell: bash
5628 - name: cargo build vmgstool
5629 run: |-
5630 flowey e 7 flowey_lib_common::run_cargo_build 8
5631 flowey e 7 flowey_lib_hvlite::run_cargo_build 16
5632 shell: bash
5633 - name: split debug symbols
5634 run: |-
5635 flowey e 7 flowey_lib_hvlite::run_split_debug_info 5
5636 flowey e 7 flowey_lib_hvlite::run_cargo_build 17
5637 flowey e 7 flowey_lib_hvlite::build_vmgstool 0
5638 flowey e 7 flowey_core::pipeline::artifact::publish 2
5639 flowey e 7 flowey_lib_hvlite::init_cross_build 6
5640 shell: bash
5641 - name: cargo build vmgs_lib
5642 run: |-
5643 flowey e 7 flowey_lib_common::run_cargo_build 7
5644 flowey e 7 flowey_lib_hvlite::run_cargo_build 15
5645 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 0
5646 shell: bash
5647 - name: test vmgs_lib
5648 run: |-
5649 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 1
5650 flowey e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 2
5651 flowey e 7 flowey_core::pipeline::artifact::publish 3
5652 flowey e 7 flowey_lib_hvlite::init_cross_build 8
5653 shell: bash
5654 - name: cargo build igvmfilegen
5655 run: |-
5656 flowey e 7 flowey_lib_common::run_cargo_build 1
5657 flowey e 7 flowey_lib_hvlite::run_cargo_build 1
5658 shell: bash
5659 - name: split debug symbols
5660 run: |-
5661 flowey e 7 flowey_lib_hvlite::run_split_debug_info 6
5662 flowey e 7 flowey_lib_hvlite::run_cargo_build 2
5663 flowey e 7 flowey_lib_hvlite::build_igvmfilegen 0
5664 flowey e 7 flowey_core::pipeline::artifact::publish 4
5665 flowey e 7 flowey_lib_hvlite::init_cross_build 2
5666 shell: bash
5667 - name: cargo build ohcldiag-dev
5668 run: |-
5669 flowey e 7 flowey_lib_common::run_cargo_build 2
5670 flowey e 7 flowey_lib_hvlite::run_cargo_build 3
5671 shell: bash
5672 - name: split debug symbols
5673 run: |-
5674 flowey e 7 flowey_lib_hvlite::run_split_debug_info 0
5675 flowey e 7 flowey_lib_hvlite::run_cargo_build 4
5676 flowey e 7 flowey_lib_hvlite::build_ohcldiag_dev 0
5677 flowey e 7 flowey_core::pipeline::artifact::publish 5
5678 flowey e 7 flowey_lib_hvlite::init_cross_build 9
5679 shell: bash
5680 - name: cargo build guest_test_uefi
5681 run: |-
5682 flowey e 7 flowey_lib_common::run_cargo_build 0
5683 flowey e 7 flowey_lib_hvlite::run_cargo_build 0
5684 shell: bash
5685 - name: build guest_test_uefi.img
5686 run: |-
5687 flowey e 7 flowey_lib_hvlite::build_guest_test_uefi 0
5688 flowey e 7 flowey_core::pipeline::artifact::publish 6
5689 flowey e 7 flowey_lib_hvlite::init_cross_build 0
5690 flowey e 7 flowey_lib_hvlite::run_cargo_build 9
5691 flowey e 7 flowey_lib_hvlite::run_cargo_build 10
5692 shell: bash
5693 - name: cargo build simple_tmk
5694 run: |-
5695 flowey e 7 flowey_lib_common::run_cargo_build 5
5696 flowey e 7 flowey_lib_hvlite::run_cargo_build 11
5697 shell: bash
5698 - name: split debug symbols
5699 run: |-
5700 flowey e 7 flowey_lib_hvlite::run_split_debug_info 3
5701 flowey e 7 flowey_lib_hvlite::run_cargo_build 12
5702 flowey e 7 flowey_lib_hvlite::build_tmks 0
5703 flowey e 7 flowey_core::pipeline::artifact::publish 7
5704 flowey e 7 flowey_lib_hvlite::init_cross_build 5
5705 shell: bash
5706 - name: cargo build tpm_guest_tests
5707 run: |-
5708 flowey e 7 flowey_lib_common::run_cargo_build 6
5709 flowey e 7 flowey_lib_hvlite::run_cargo_build 13
5710 shell: bash
5711 - name: split debug symbols
5712 run: |-
5713 flowey e 7 flowey_lib_hvlite::run_split_debug_info 4
5714 flowey e 7 flowey_lib_hvlite::run_cargo_build 14
5715 flowey e 7 flowey_lib_hvlite::build_tpm_guest_tests 0
5716 flowey e 7 flowey_core::pipeline::artifact::publish 8
5717 shell: bash
5718 - name: create cargo-nextest cache dir
5719 run: |-
5720 flowey e 7 flowey_lib_common::download_cargo_nextest 0
5721 flowey e 7 flowey_lib_common::download_cargo_nextest 1
5722 flowey e 7 flowey_lib_common::download_cargo_nextest 2
5723 flowey e 7 flowey_lib_common::download_cargo_nextest 3
5724 shell: bash
5725 - name: Pre-processing cache vars
5726 run: |-
5727 flowey e 7 flowey_lib_common::cache 0
5728 flowey v 7 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
5729 flowey v 7 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
5730 shell: bash
5731 - id: flowey_lib_common__cache__1
5732 uses: actions/cache@v5
5733 with:
5734 key: ${{ env.floweyvar2 }}
5735 path: ${{ env.floweyvar3 }}
5736 name: 'Restore cache: cargo-nextest'
5737 - name: downloading cargo-nextest
5738 run: |-
5739 flowey v 7 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
5740 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5741 EOF
5742 flowey e 7 flowey_lib_common::cache 2
5743 flowey e 7 flowey_lib_common::download_cargo_nextest 4
5744 shell: bash
5745 - name: report $CARGO_HOME
5746 run: flowey e 7 flowey_lib_common::install_rust 3
5747 shell: bash
5748 - name: installing cargo-nextest
5749 run: |-
5750 flowey e 7 flowey_lib_common::install_cargo_nextest 0
5751 flowey e 7 flowey_lib_hvlite::init_cross_build 1
5752 shell: bash
5753 - name: build + archive 'vmm_tests' nextests
5754 run: |-
5755 flowey e 7 flowey_lib_common::run_cargo_nextest_archive 0
5756 flowey e 7 flowey_lib_hvlite::build_nextest_vmm_tests 0
5757 flowey e 7 flowey_core::pipeline::artifact::publish 9
5758 shell: bash
5759 - name: 'validate cache entry: cargo-nextest'
5760 run: flowey e 7 flowey_lib_common::cache 3
5761 shell: bash
5762 - name: 'validate cache entry: gh-release-download'
5763 run: flowey e 7 flowey_lib_common::cache 7
5764 shell: bash
5765 - name: πŸŒΌπŸ“¦ Publish x64-guest_test_uefi
5766 uses: actions/upload-artifact@v7
5767 with:
5768 name: x64-guest_test_uefi
5769 path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/
5770 include-hidden-files: true
5771 - name: πŸŒΌπŸ“¦ Publish x64-linux-igvmfilegen
5772 uses: actions/upload-artifact@v7
5773 with:
5774 name: x64-linux-igvmfilegen
5775 path: ${{ runner.temp }}/publish_artifacts/x64-linux-igvmfilegen/
5776 include-hidden-files: true
5777 - name: πŸŒΌπŸ“¦ Publish x64-linux-ohcldiag-dev
5778 uses: actions/upload-artifact@v7
5779 with:
5780 name: x64-linux-ohcldiag-dev
5781 path: ${{ runner.temp }}/publish_artifacts/x64-linux-ohcldiag-dev/
5782 include-hidden-files: true
5783 - name: πŸŒΌπŸ“¦ Publish x64-linux-openvmm
5784 uses: actions/upload-artifact@v7
5785 with:
5786 name: x64-linux-openvmm
5787 path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm/
5788 include-hidden-files: true
5789 - name: πŸŒΌπŸ“¦ Publish x64-linux-openvmm_vhost
5790 uses: actions/upload-artifact@v7
5791 with:
5792 name: x64-linux-openvmm_vhost
5793 path: ${{ runner.temp }}/publish_artifacts/x64-linux-openvmm_vhost/
5794 include-hidden-files: true
5795 - name: πŸŒΌπŸ“¦ Publish x64-linux-tpm_guest_tests
5796 uses: actions/upload-artifact@v7
5797 with:
5798 name: x64-linux-tpm_guest_tests
5799 path: ${{ runner.temp }}/publish_artifacts/x64-linux-tpm_guest_tests/
5800 include-hidden-files: true
5801 - name: πŸŒΌπŸ“¦ Publish x64-linux-vmgs_lib
5802 uses: actions/upload-artifact@v7
5803 with:
5804 name: x64-linux-vmgs_lib
5805 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgs_lib/
5806 include-hidden-files: true
5807 - name: πŸŒΌπŸ“¦ Publish x64-linux-vmgstool
5808 uses: actions/upload-artifact@v7
5809 with:
5810 name: x64-linux-vmgstool
5811 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool/
5812 include-hidden-files: true
5813 - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive
5814 uses: actions/upload-artifact@v7
5815 with:
5816 name: x64-linux-vmm-tests-archive
5817 path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-tests-archive/
5818 include-hidden-files: true
5819 - name: πŸŒΌπŸ“¦ Publish x64-tmks
5820 uses: actions/upload-artifact@v7
5821 with:
5822 name: x64-tmks
5823 path: ${{ runner.temp }}/publish_artifacts/x64-tmks/
5824 include-hidden-files: true
5825 job8:
5826 name: build openhcl [aarch64-linux]
5827 runs-on:
5828 - self-hosted
5829 - 1ES.Pool=openvmm-gh-amd-westus3
5830 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
5831 - JobId=job8-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
5832 permissions:
5833 contents: read
5834 id-token: write
5835 needs:
5836 - job0
5837 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
5838 steps:
5839 - name: πŸŒΌπŸ“¦ Download artifacts
5840 uses: actions/download-artifact@v8
5841 with:
5842 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
5843 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
5844 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
5845 shell: bash
5846 name: πŸŒΌπŸ“¦ Add flowey to PATH
5847 - name: πŸŒΌπŸ›« Initialize job
5848 run: |
5849 AgentTempDirNormal="${{ runner.temp }}"
5850 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
5851 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
5852
5853 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
5854
5855 echo '"debug"' | flowey v 8 'FLOWEY_LOG' update
5856 echo "${{ runner.temp }}/work" | flowey v 8 '_internal_WORKING_DIR' --is-raw-string update
5857
5858 cat <<'EOF' | flowey v 8 'verbose' update
5859 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
5860 EOF
5861 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette"
5862 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-pipette" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update
5863 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm"
5864 echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update
5865 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm"
5866 echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm" | flowey v 8 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update
5867 mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras"
5868 echo "$AgentTempDirNormal/publish_artifacts/aarch64-openhcl-igvm-extras" | flowey v 8 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update
5869 shell: bash
5870 - name: checking if packages need to be installed
5871 run: flowey e 8 flowey_lib_common::install_dist_pkg 0
5872 shell: bash
5873 - name: installing packages
5874 run: flowey e 8 flowey_lib_common::install_dist_pkg 1
5875 shell: bash
5876 - name: create gh-release-download cache dir
5877 run: flowey e 8 flowey_lib_common::download_gh_release 0
5878 shell: bash
5879 - name: Pre-processing cache vars
5880 run: |-
5881 flowey e 8 flowey_lib_common::cache 0
5882 flowey v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1
5883 flowey v 8 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2
5884 shell: bash
5885 - id: flowey_lib_common__cache__1
5886 uses: actions/cache@v5
5887 with:
5888 key: ${{ env.floweyvar1 }}
5889 path: ${{ env.floweyvar2 }}
5890 name: 'Restore cache: gh-release-download'
5891 - name: download artifacts from github releases
5892 run: |-
5893 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
5894 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
5895 EOF
5896 flowey e 8 flowey_lib_common::cache 2
5897 flowey e 8 flowey_lib_common::download_gh_release 1
5898 shell: bash
5899 - name: unpack mu_msvm package (aarch64)
5900 run: flowey e 8 flowey_lib_hvlite::download_uefi_mu_msvm 0
5901 shell: bash
5902 - name: add default cargo home to path
5903 run: flowey e 8 flowey_lib_common::install_rust 0
5904 shell: bash
5905 - name: install Rust
5906 run: flowey e 8 flowey_lib_common::install_rust 1
5907 shell: bash
5908 - name: detect active toolchain
5909 run: |-
5910 flowey e 8 flowey_lib_common::install_rust 2
5911 flowey e 8 flowey_lib_common::cfg_cargo_common_flags 0
5912 shell: bash
5913 - name: check if openvmm needs to be cloned
5914 run: |-
5915 flowey e 8 flowey_lib_common::git_checkout 0
5916 flowey v 8 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
5917 flowey v 8 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
5918 shell: bash
5919 - id: flowey_lib_common__git_checkout__1
5920 uses: actions/checkout@v6
5921 with:
5922 fetch-depth: '1'
5923 path: repo0
5924 persist-credentials: ${{ env.floweyvar3 }}
5925 name: checkout repo openvmm
5926 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
5927 - name: report cloned repo directories
5928 run: |-
5929 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
5930 ${{ github.workspace }}
5931 EOF
5932 flowey e 8 flowey_lib_common::git_checkout 3
5933 flowey e 8 flowey_lib_hvlite::git_checkout_openvmm_repo 0
5934 shell: bash
5935 - name: set '-Dwarnings' in .cargo/config.toml
5936 run: flowey e 8 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
5937 shell: bash
5938 - name: unpack protoc
5939 run: |-
5940 flowey e 8 flowey_lib_common::resolve_protoc 0
5941 flowey e 8 flowey_lib_hvlite::cfg_openvmm_magicpath 0
5942 shell: bash
5943 - name: symlink protoc
5944 run: |-
5945 flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
5946 flowey e 8 flowey_lib_hvlite::init_cross_build 0
5947 flowey e 8 flowey_lib_hvlite::run_cargo_build 2
5948 flowey e 8 flowey_lib_hvlite::run_cargo_build 3
5949 shell: bash
5950 - name: cargo build openhcl_boot
5951 run: |-
5952 flowey e 8 flowey_lib_common::run_cargo_build 1
5953 flowey e 8 flowey_lib_hvlite::run_cargo_build 4
5954 shell: bash
5955 - name: split debug symbols
5956 run: |-
5957 flowey e 8 flowey_lib_hvlite::run_split_debug_info 2
5958 flowey e 8 flowey_lib_hvlite::run_cargo_build 5
5959 flowey e 8 flowey_lib_hvlite::build_openhcl_boot 0
5960 shell: bash
5961 - name: extract and resolve kernel package
5962 run: |-
5963 flowey e 8 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
5964 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
5965 shell: bash
5966 - name: unpack openvmm-deps archive
5967 run: flowey e 8 flowey_lib_hvlite::resolve_openvmm_deps 0
5968 shell: bash
5969 - name: extract Aarch64 sysroot.tar.gz
5970 run: |-
5971 flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
5972 flowey e 8 flowey_lib_hvlite::init_cross_build 1
5973 shell: bash
5974 - name: cargo build openvmm_hcl
5975 run: |-
5976 flowey e 8 flowey_lib_common::run_cargo_build 2
5977 flowey e 8 flowey_lib_hvlite::run_cargo_build 6
5978 flowey e 8 flowey_lib_hvlite::build_openvmm_hcl 0
5979 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
5980 shell: bash
5981 - name: split debug symbols
5982 run: |-
5983 flowey e 8 flowey_lib_hvlite::run_split_debug_info 1
5984 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
5985 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
5986 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
5987 shell: bash
5988 - name: building openhcl initrd
5989 run: |-
5990 flowey e 8 flowey_lib_hvlite::build_openhcl_initrd 1
5991 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
5992 flowey e 8 flowey_lib_hvlite::init_cross_build 4
5993 shell: bash
5994 - name: cargo build igvmfilegen
5995 run: |-
5996 flowey e 8 flowey_lib_common::run_cargo_build 0
5997 flowey e 8 flowey_lib_hvlite::run_cargo_build 0
5998 shell: bash
5999 - name: split debug symbols
6000 run: |-
6001 flowey e 8 flowey_lib_hvlite::run_split_debug_info 5
6002 flowey e 8 flowey_lib_hvlite::run_cargo_build 1
6003 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0
6004 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
6005 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
6006 shell: bash
6007 - name: building igvm file
6008 run: |-
6009 flowey e 8 flowey_lib_hvlite::run_igvmfilegen 1
6010 flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
6011 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
6012 shell: bash
6013 - name: extract and resolve kernel package
6014 run: |-
6015 flowey e 8 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
6016 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
6017 shell: bash
6018 - name: split debug symbols
6019 run: |-
6020 flowey e 8 flowey_lib_hvlite::run_split_debug_info 0
6021 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
6022 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
6023 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
6024 shell: bash
6025 - name: building openhcl initrd
6026 run: |-
6027 flowey e 8 flowey_lib_hvlite::build_openhcl_initrd 0
6028 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
6029 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
6030 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
6031 shell: bash
6032 - name: building igvm file
6033 run: |-
6034 flowey e 8 flowey_lib_hvlite::run_igvmfilegen 0
6035 flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
6036 flowey e 8 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
6037 shell: bash
6038 - name: copying OpenHCL igvm files to artifact dir
6039 run: |-
6040 flowey e 8 flowey_lib_common::copy_to_artifact_dir 1
6041 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
6042 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
6043 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
6044 flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
6045 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
6046 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
6047 flowey e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
6048 flowey e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
6049 flowey e 8 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
6050 shell: bash
6051 - name: copying OpenHCL igvm extras to artifact dir
6052 run: |-
6053 flowey e 8 flowey_lib_common::copy_to_artifact_dir 0
6054 flowey e 8 flowey_lib_hvlite::init_cross_build 2
6055 shell: bash
6056 - name: cargo build pipette
6057 run: |-
6058 flowey e 8 flowey_lib_common::run_cargo_build 3
6059 flowey e 8 flowey_lib_hvlite::run_cargo_build 7
6060 shell: bash
6061 - name: split debug symbols
6062 run: |-
6063 flowey e 8 flowey_lib_hvlite::run_split_debug_info 3
6064 flowey e 8 flowey_lib_hvlite::run_cargo_build 8
6065 flowey e 8 flowey_lib_hvlite::build_pipette 0
6066 flowey e 8 flowey_core::pipeline::artifact::publish 0
6067 flowey e 8 flowey_lib_hvlite::init_cross_build 3
6068 shell: bash
6069 - name: cargo build tmk_vmm
6070 run: |-
6071 flowey e 8 flowey_lib_common::run_cargo_build 4
6072 flowey e 8 flowey_lib_hvlite::run_cargo_build 9
6073 shell: bash
6074 - name: split debug symbols
6075 run: |-
6076 flowey e 8 flowey_lib_hvlite::run_split_debug_info 4
6077 flowey e 8 flowey_lib_hvlite::run_cargo_build 10
6078 flowey e 8 flowey_lib_hvlite::build_tmk_vmm 0
6079 flowey e 8 flowey_core::pipeline::artifact::publish 1
6080 shell: bash
6081 - name: 'validate cache entry: gh-release-download'
6082 run: flowey e 8 flowey_lib_common::cache 3
6083 shell: bash
6084 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette
6085 uses: actions/upload-artifact@v7
6086 with:
6087 name: aarch64-linux-musl-pipette
6088 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-pipette/
6089 include-hidden-files: true
6090 - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-tmk_vmm
6091 uses: actions/upload-artifact@v7
6092 with:
6093 name: aarch64-linux-musl-tmk_vmm
6094 path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/
6095 include-hidden-files: true
6096 - name: πŸŒΌπŸ“¦ Publish aarch64-openhcl-igvm
6097 uses: actions/upload-artifact@v7
6098 with:
6099 name: aarch64-openhcl-igvm
6100 path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm/
6101 include-hidden-files: true
6102 - name: πŸŒΌπŸ“¦ Publish aarch64-openhcl-igvm-extras
6103 uses: actions/upload-artifact@v7
6104 with:
6105 name: aarch64-openhcl-igvm-extras
6106 path: ${{ runner.temp }}/publish_artifacts/aarch64-openhcl-igvm-extras/
6107 include-hidden-files: true
6108 job9:
6109 name: build openhcl [x64-linux]
6110 runs-on:
6111 - self-hosted
6112 - 1ES.Pool=openvmm-gh-amd-westus3
6113 - 1ES.ImageOverride=ubuntu2404-amd64-256gb
6114 - JobId=job9-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
6115 permissions:
6116 contents: read
6117 id-token: write
6118 needs:
6119 - job0
6120 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false
6121 steps:
6122 - name: πŸŒΌπŸ“¦ Download artifacts
6123 uses: actions/download-artifact@v8
6124 with:
6125 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
6126 path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/
6127 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
6128 shell: bash
6129 name: πŸŒΌπŸ“¦ Add flowey to PATH
6130 - name: πŸŒΌπŸ›« Initialize job
6131 run: |
6132 AgentTempDirNormal="${{ runner.temp }}"
6133 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
6134 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
6135
6136 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
6137
6138 echo '"debug"' | flowey v 9 'FLOWEY_LOG' update
6139 echo "${{ runner.temp }}/work" | flowey v 9 '_internal_WORKING_DIR' --is-raw-string update
6140
6141 cat <<'EOF' | flowey v 9 'verbose' update
6142 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
6143 EOF
6144 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette"
6145 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-pipette" | flowey v 9 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update
6146 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm"
6147 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-tmk_vmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update
6148 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm"
6149 echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm" | flowey v 9 'artifact_publish_from_x64-openhcl-igvm' --is-raw-string update
6150 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras"
6151 echo "$AgentTempDirNormal/publish_artifacts/x64-openhcl-igvm-extras" | flowey v 9 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update
6152 shell: bash
6153 - name: checking if packages need to be installed
6154 run: flowey e 9 flowey_lib_common::install_dist_pkg 0
6155 shell: bash
6156 - name: installing packages
6157 run: flowey e 9 flowey_lib_common::install_dist_pkg 1
6158 shell: bash
6159 - name: create gh-release-download cache dir
6160 run: flowey e 9 flowey_lib_common::download_gh_release 0
6161 shell: bash
6162 - name: Pre-processing cache vars
6163 run: |-
6164 flowey e 9 flowey_lib_common::cache 0
6165 flowey v 9 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar1
6166 flowey v 9 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar2
6167 shell: bash
6168 - id: flowey_lib_common__cache__1
6169 uses: actions/cache@v5
6170 with:
6171 key: ${{ env.floweyvar1 }}
6172 path: ${{ env.floweyvar2 }}
6173 name: 'Restore cache: gh-release-download'
6174 - name: download artifacts from github releases
6175 run: |-
6176 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
6177 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
6178 EOF
6179 flowey e 9 flowey_lib_common::cache 2
6180 flowey e 9 flowey_lib_common::download_gh_release 1
6181 shell: bash
6182 - name: unpack mu_msvm package (x64)
6183 run: flowey e 9 flowey_lib_hvlite::download_uefi_mu_msvm 0
6184 shell: bash
6185 - name: add default cargo home to path
6186 run: flowey e 9 flowey_lib_common::install_rust 0
6187 shell: bash
6188 - name: install Rust
6189 run: flowey e 9 flowey_lib_common::install_rust 1
6190 shell: bash
6191 - name: detect active toolchain
6192 run: |-
6193 flowey e 9 flowey_lib_common::install_rust 2
6194 flowey e 9 flowey_lib_common::cfg_cargo_common_flags 0
6195 shell: bash
6196 - name: check if openvmm needs to be cloned
6197 run: |-
6198 flowey e 9 flowey_lib_common::git_checkout 0
6199 flowey v 9 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar3
6200 flowey v 9 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
6201 shell: bash
6202 - id: flowey_lib_common__git_checkout__1
6203 uses: actions/checkout@v6
6204 with:
6205 fetch-depth: '1'
6206 path: repo0
6207 persist-credentials: ${{ env.floweyvar3 }}
6208 name: checkout repo openvmm
6209 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
6210 - name: report cloned repo directories
6211 run: |-
6212 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
6213 ${{ github.workspace }}
6214 EOF
6215 flowey e 9 flowey_lib_common::git_checkout 3
6216 flowey e 9 flowey_lib_hvlite::git_checkout_openvmm_repo 0
6217 shell: bash
6218 - name: set '-Dwarnings' in .cargo/config.toml
6219 run: flowey e 9 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
6220 shell: bash
6221 - name: unpack protoc
6222 run: |-
6223 flowey e 9 flowey_lib_common::resolve_protoc 0
6224 flowey e 9 flowey_lib_hvlite::cfg_openvmm_magicpath 0
6225 shell: bash
6226 - name: symlink protoc
6227 run: |-
6228 flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
6229 flowey e 9 flowey_lib_hvlite::init_cross_build 0
6230 flowey e 9 flowey_lib_hvlite::run_cargo_build 9
6231 flowey e 9 flowey_lib_hvlite::run_cargo_build 10
6232 shell: bash
6233 - name: cargo build sidecar
6234 run: |-
6235 flowey e 9 flowey_lib_common::run_cargo_build 4
6236 flowey e 9 flowey_lib_hvlite::run_cargo_build 11
6237 shell: bash
6238 - name: split debug symbols
6239 run: |-
6240 flowey e 9 flowey_lib_hvlite::run_split_debug_info 7
6241 flowey e 9 flowey_lib_hvlite::run_cargo_build 12
6242 flowey e 9 flowey_lib_hvlite::build_sidecar 0
6243 flowey e 9 flowey_lib_hvlite::init_cross_build 1
6244 flowey e 9 flowey_lib_hvlite::run_cargo_build 2
6245 flowey e 9 flowey_lib_hvlite::run_cargo_build 3
6246 shell: bash
6247 - name: cargo build openhcl_boot
6248 run: |-
6249 flowey e 9 flowey_lib_common::run_cargo_build 1
6250 flowey e 9 flowey_lib_hvlite::run_cargo_build 4
6251 shell: bash
6252 - name: split debug symbols
6253 run: |-
6254 flowey e 9 flowey_lib_hvlite::run_split_debug_info 5
6255 flowey e 9 flowey_lib_hvlite::run_cargo_build 5
6256 flowey e 9 flowey_lib_hvlite::build_openhcl_boot 0
6257 shell: bash
6258 - name: extract and resolve kernel package
6259 run: |-
6260 flowey e 9 flowey_lib_hvlite::resolve_openhcl_kernel_package 2
6261 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28
6262 shell: bash
6263 - name: unpack openvmm-deps archive
6264 run: flowey e 9 flowey_lib_hvlite::resolve_openvmm_deps 0
6265 shell: bash
6266 - name: extract X64 sysroot.tar.gz
6267 run: |-
6268 flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
6269 flowey e 9 flowey_lib_hvlite::init_cross_build 3
6270 shell: bash
6271 - name: cargo build openvmm_hcl
6272 run: |-
6273 flowey e 9 flowey_lib_common::run_cargo_build 2
6274 flowey e 9 flowey_lib_hvlite::run_cargo_build 6
6275 flowey e 9 flowey_lib_hvlite::build_openvmm_hcl 0
6276 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24
6277 shell: bash
6278 - name: split debug symbols
6279 run: |-
6280 flowey e 9 flowey_lib_hvlite::run_split_debug_info 4
6281 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25
6282 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26
6283 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29
6284 shell: bash
6285 - name: building openhcl initrd
6286 run: |-
6287 flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 4
6288 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30
6289 flowey e 9 flowey_lib_hvlite::init_cross_build 2
6290 shell: bash
6291 - name: cargo build igvmfilegen
6292 run: |-
6293 flowey e 9 flowey_lib_common::run_cargo_build 0
6294 flowey e 9 flowey_lib_hvlite::run_cargo_build 0
6295 shell: bash
6296 - name: split debug symbols
6297 run: |-
6298 flowey e 9 flowey_lib_hvlite::run_split_debug_info 9
6299 flowey e 9 flowey_lib_hvlite::run_cargo_build 1
6300 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0
6301 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31
6302 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32
6303 shell: bash
6304 - name: building igvm file
6305 run: |-
6306 flowey e 9 flowey_lib_hvlite::run_igvmfilegen 4
6307 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
6308 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 39
6309 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35
6310 shell: bash
6311 - name: split debug symbols
6312 run: |-
6313 flowey e 9 flowey_lib_hvlite::run_split_debug_info 0
6314 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36
6315 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37
6316 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 40
6317 shell: bash
6318 - name: extract and resolve kernel package
6319 run: flowey e 9 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
6320 shell: bash
6321 - name: building openhcl initrd
6322 run: |-
6323 flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 0
6324 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 41
6325 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 42
6326 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 43
6327 shell: bash
6328 - name: building igvm file
6329 run: |-
6330 flowey e 9 flowey_lib_hvlite::run_igvmfilegen 0
6331 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4
6332 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 50
6333 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 46
6334 shell: bash
6335 - name: split debug symbols
6336 run: |-
6337 flowey e 9 flowey_lib_hvlite::run_split_debug_info 1
6338 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 47
6339 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 48
6340 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 51
6341 shell: bash
6342 - name: building openhcl initrd
6343 run: |-
6344 flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 1
6345 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 52
6346 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 53
6347 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 54
6348 shell: bash
6349 - name: building igvm file
6350 run: |-
6351 flowey e 9 flowey_lib_hvlite::run_igvmfilegen 1
6352 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 6
6353 shell: bash
6354 - name: extract and resolve kernel package
6355 run: |-
6356 flowey e 9 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
6357 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
6358 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
6359 shell: bash
6360 - name: split debug symbols
6361 run: |-
6362 flowey e 9 flowey_lib_hvlite::run_split_debug_info 3
6363 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
6364 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
6365 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
6366 shell: bash
6367 - name: building openhcl initrd
6368 run: |-
6369 flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 3
6370 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
6371 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
6372 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
6373 shell: bash
6374 - name: building igvm file
6375 run: |-
6376 flowey e 9 flowey_lib_hvlite::run_igvmfilegen 3
6377 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 8
6378 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
6379 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
6380 shell: bash
6381 - name: split debug symbols
6382 run: |-
6383 flowey e 9 flowey_lib_hvlite::run_split_debug_info 2
6384 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
6385 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
6386 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
6387 shell: bash
6388 - name: building openhcl initrd
6389 run: |-
6390 flowey e 9 flowey_lib_hvlite::build_openhcl_initrd 2
6391 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
6392 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
6393 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
6394 shell: bash
6395 - name: building igvm file
6396 run: |-
6397 flowey e 9 flowey_lib_hvlite::run_igvmfilegen 2
6398 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
6399 flowey e 9 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
6400 shell: bash
6401 - name: copying OpenHCL igvm files to artifact dir
6402 run: |-
6403 flowey e 9 flowey_lib_common::copy_to_artifact_dir 1
6404 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22
6405 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27
6406 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23
6407 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
6408 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 38
6409 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34
6410 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33
6411 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5
6412 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 49
6413 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 45
6414 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 44
6415 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 7
6416 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
6417 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
6418 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
6419 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 9
6420 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
6421 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
6422 flowey e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
6423 flowey e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
6424 flowey e 9 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
6425 shell: bash
6426 - name: copying OpenHCL igvm extras to artifact dir
6427 run: |-
6428 flowey e 9 flowey_lib_common::copy_to_artifact_dir 0
6429 flowey e 9 flowey_lib_hvlite::init_cross_build 4
6430 shell: bash
6431 - name: cargo build pipette
6432 run: |-
6433 flowey e 9 flowey_lib_common::run_cargo_build 3
6434 flowey e 9 flowey_lib_hvlite::run_cargo_build 7
6435 shell: bash
6436 - name: split debug symbols
6437 run: |-
6438 flowey e 9 flowey_lib_hvlite::run_split_debug_info 6
6439 flowey e 9 flowey_lib_hvlite::run_cargo_build 8
6440 flowey e 9 flowey_lib_hvlite::build_pipette 0
6441 flowey e 9 flowey_core::pipeline::artifact::publish 0
6442 flowey e 9 flowey_lib_hvlite::init_cross_build 5
6443 shell: bash
6444 - name: cargo build tmk_vmm
6445 run: |-
6446 flowey e 9 flowey_lib_common::run_cargo_build 5
6447 flowey e 9 flowey_lib_hvlite::run_cargo_build 13
6448 shell: bash
6449 - name: split debug symbols
6450 run: |-
6451 flowey e 9 flowey_lib_hvlite::run_split_debug_info 8
6452 flowey e 9 flowey_lib_hvlite::run_cargo_build 14
6453 flowey e 9 flowey_lib_hvlite::build_tmk_vmm 0
6454 flowey e 9 flowey_core::pipeline::artifact::publish 1
6455 shell: bash
6456 - name: 'validate cache entry: gh-release-download'
6457 run: flowey e 9 flowey_lib_common::cache 3
6458 shell: bash
6459 - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-pipette
6460 uses: actions/upload-artifact@v7
6461 with:
6462 name: x64-linux-musl-pipette
6463 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-pipette/
6464 include-hidden-files: true
6465 - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-tmk_vmm
6466 uses: actions/upload-artifact@v7
6467 with:
6468 name: x64-linux-musl-tmk_vmm
6469 path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/
6470 include-hidden-files: true
6471 - name: πŸŒΌπŸ“¦ Publish x64-openhcl-igvm
6472 uses: actions/upload-artifact@v7
6473 with:
6474 name: x64-openhcl-igvm
6475 path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm/
6476 include-hidden-files: true
6477 - name: πŸŒΌπŸ“¦ Publish x64-openhcl-igvm-extras
6478 uses: actions/upload-artifact@v7
6479 with:
6480 name: x64-openhcl-igvm-extras
6481 path: ${{ runner.temp }}/publish_artifacts/x64-openhcl-igvm-extras/
6482 include-hidden-files: true