microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
cc6892b1d29a05c6323d2c2bcf637a3f572b3538

Branches

Tags

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

Clone

HTTPS

Download ZIP

.github/workflows/openvmm-ci.yaml

6231lines Β· modecode

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