microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
7c3ac15ad56c50a9668a2afe27075f80372e009f

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

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