microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
bddef9a42e9ca8c8cd4aad200fb1a03582592eed

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

6515lines Β· modecode

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