microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
8720431028c16c847725ecaf9d12cc6a7216827d

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

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