microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/fix-vnc-color-output

Branches

Tags

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

Clone

HTTPS

Download ZIP

ci-flowey/openvmm-pr.yaml

4737lines Β· modecode

1##############################
2# THIS FILE IS AUTOGENERATED #
3# DO NOT MANUALLY EDIT #
4##############################
5trigger: none
6pr:
7 autoCancel: true
8 drafts: false
9 branches:
10 include:
11 - main
12 - release/*
13 - embargo/*
14 paths:
15 exclude:
16 - Guide/**
17 - petri/logview/**
18parameters:
19- name: verbose
20 displayName: Run with verbose output
21 type: boolean
22 default: false
23jobs:
24- job: job0
25 displayName: quick check [fmt, clippy x64-linux]
26 pool:
27 demands:
28 - ImageOverride -equals ubuntu2404-amd64-256gb
29 name: openvmm-ado-intel-centralus
30 dependsOn: []
31 condition: and(succeeded(), not(canceled()))
32 variables:
33 - name: FLOWEY_TEMP_DIR
34 value: $(Build.StagingDirectory)/.flowey-internal
35 steps:
36 - bash: |
37 set -x
38 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
39 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
40 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
41 . "$HOME/.cargo/env"
42 echo '##vso[task.prependpath]$(HOME)/.cargo/bin'
43 condition: eq(variables['Agent.OS'], 'Linux')
44 displayName: rustup (Linux)
45 - bash: |
46 set -x
47 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
48 ./rustup-init.exe -y --default-toolchain=1.95.0
49 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin'
50 condition: eq(variables['Agent.OS'], 'Windows_NT')
51 displayName: rustup (Windows X64)
52 - bash: |
53 set -x
54 rustup show
55 displayName: Verify rustup installation
56 - checkout: self
57 fetchTags: false
58 fetchDepth: 1
59 path: flowey_bootstrap
60 - bash: CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci
61 workingDirectory: ../flowey_bootstrap
62 displayName: Build flowey
63 - bash: |
64 mkdir ./flowey_bootstrap_temp
65 mv ./ci-flowey/openvmm-pr.yaml ./flowey_bootstrap_temp/pipeline.yaml
66 mv ./ci-flowey/openvmm-pr.json ./flowey_bootstrap_temp/pipeline.json
67 mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite ./flowey_bootstrap_temp/flowey
68 workingDirectory: ../flowey_bootstrap
69 displayName: Stage flowey artifact
70 - task: CopyFiles@2
71 displayName: Copy flowey artifact
72 inputs:
73 SourceFolder: ../flowey_bootstrap/flowey_bootstrap_temp
74 TargetFolder: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
75 - bash: rm -rf ./flowey_bootstrap_temp
76 workingDirectory: ../flowey_bootstrap
77 displayName: Cleanup staged flowey artifact
78 - bash: |
79 set -e
80 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
81 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
82 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
83
84 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
85 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
86 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
87 displayName: Set flowey path
88 - bash: |-
89 ESCAPED_AGENT_TEMPDIR=$(
90 cat <<'EOF' | sed 's/\\/\\\\/g'
91 $(FLOWEY_TEMP_DIR)
92 EOF
93 )
94 $(FLOWEY_BIN) pipeline ado --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out ci-flowey/openvmm-pr.yaml ci checkin-gates --config=pr
95 displayName: πŸŒΌπŸ”Ž Self-check YAML
96 - bash: |
97 set -e
98 echo '"debug"' | $FLOWEY_BIN v 0 'FLOWEY_LOG' update
99 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 0 '_internal_WORKING_DIR' --is-raw-string update
100
101 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 0 'verbose' update
102 ${{ parameters.verbose }}
103 EOF
104 displayName: πŸŒΌπŸ›« Initialize job
105 - bash: |-
106 set -e
107 $(FLOWEY_BIN) e 0 flowey_lib_common::git_checkout 0
108 $FLOWEY_BIN v 0 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar1
109 $FLOWEY_BIN v 0 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
110 displayName: check if openvmm needs to be cloned
111 - checkout: self
112 path: repo0
113 fetchTags: false
114 fetchDepth: 1
115 persistCredentials: $(floweyvar1)
116 submodules: recursive
117 displayName: checkout repo openvmm
118 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
119 - bash: |-
120 set -e
121 $(FLOWEY_BIN) e 0 flowey_lib_common::git_checkout 2
122 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0
123 displayName: report cloned repo directories
124 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::install_rust 0
125 displayName: install Rust
126 - bash: |-
127 set -e
128 $(FLOWEY_BIN) e 0 flowey_lib_common::install_rust 1
129 $(FLOWEY_BIN) e 0 flowey_lib_common::cfg_cargo_common_flags 0
130 displayName: detect active toolchain
131 - bash: $(FLOWEY_BIN) e 0 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
132 displayName: set '-Dwarnings' in .cargo/config.toml
133 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::download_gh_release 0
134 displayName: create gh-release-download cache dir
135 - bash: |-
136 set -e
137 $(FLOWEY_BIN) e 0 flowey_lib_common::cache 0
138 $FLOWEY_BIN v 0 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar2
139 $FLOWEY_BIN v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar3
140 displayName: Pre-processing cache vars
141 - task: Cache@2
142 inputs:
143 key: $(floweyvar3)
144 path: $(floweyvar2)
145 cacheHitVar: FLOWEY_CACHE_HITVAR
146 displayName: 'Restore cache: gh-release-download'
147 - bash: |-
148 set -e
149 $FLOWEY_BIN v 0 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
150 $(FLOWEY_CACHE_HITVAR)
151 EOF
152 $(FLOWEY_BIN) e 0 flowey_lib_common::cache 2
153 displayName: map ADO hitvar to flowey
154 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::download_gh_release 1
155 displayName: download artifacts from github releases
156 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::install_dist_pkg 0
157 displayName: checking if packages need to be installed
158 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::install_dist_pkg 1
159 displayName: installing packages
160 - bash: |-
161 set -e
162 $(FLOWEY_BIN) e 0 flowey_lib_common::resolve_protoc 0
163 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::cfg_openvmm_magicpath 0
164 displayName: unpack protoc
165 - bash: |-
166 set -e
167 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
168 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::init_cross_build 2
169 displayName: symlink protoc
170 - bash: |-
171 set -e
172 $(FLOWEY_BIN) e 0 flowey_lib_common::run_cargo_build 1
173 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::run_cargo_build 2
174 displayName: cargo build xtask
175 - bash: |-
176 set -e
177 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::run_split_debug_info 0
178 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::run_cargo_build 3
179 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::build_xtask 1
180 displayName: split debug symbols
181 - bash: |-
182 set -e
183 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::_jobs::check_xtask_fmt 0
184 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::init_cross_build 0
185 displayName: run xtask fmt
186 - bash: |-
187 set -e
188 $(FLOWEY_BIN) e 0 flowey_lib_common::run_cargo_clippy 1
189 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::init_cross_build 1
190 displayName: cargo clippy
191 - bash: |-
192 set -e
193 $(FLOWEY_BIN) e 0 flowey_lib_common::run_cargo_build 0
194 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::run_cargo_build 0
195 displayName: cargo build xtask
196 - bash: |-
197 set -e
198 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::run_split_debug_info 1
199 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::run_cargo_build 1
200 $(FLOWEY_BIN) e 0 flowey_lib_hvlite::build_xtask 0
201 displayName: split debug symbols
202 - bash: $(FLOWEY_BIN) e 0 flowey_lib_hvlite::_jobs::check_clippy 0
203 displayName: determine clippy exclusions
204 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::run_cargo_clippy 0
205 displayName: cargo clippy
206 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::run_cargo_clippy 2
207 displayName: cargo clippy
208 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::run_cargo_clippy 3
209 displayName: cargo clippy
210 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::run_cargo_clippy 4
211 displayName: cargo clippy
212 - bash: $(FLOWEY_BIN) e 0 flowey_lib_common::cache 3
213 displayName: 'validate cache entry: gh-release-download'
214 - bash: rm $(AgentTempDirNormal)/bootstrapped-flowey/job0.json
215 displayName: 🌼🧼 Redact bootstrap var db
216 - publish: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
217 displayName: 🌼πŸ₯Ύ Publish bootstrapped flowey
218 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
219- job: job16
220 displayName: build openhcl (mi-secure) [x64-linux]
221 pool:
222 demands:
223 - ImageOverride -equals ubuntu2404-amd64-256gb
224 name: openvmm-ado-intel-centralus
225 dependsOn:
226 - job0
227 condition: and(succeeded(), not(canceled()))
228 variables:
229 - name: FLOWEY_TEMP_DIR
230 value: $(Build.StagingDirectory)/.flowey-internal
231 steps:
232 - task: DownloadPipelineArtifact@2
233 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
234 inputs:
235 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
236 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
237 - bash: |
238 set -e
239 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
240 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
241 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
242
243 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
244 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
245 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
246 displayName: Set flowey path
247 - bash: |
248 set -e
249 echo '"debug"' | $FLOWEY_BIN v 16 'FLOWEY_LOG' update
250 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 16 '_internal_WORKING_DIR' --is-raw-string update
251
252 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 16 'verbose' update
253 ${{ parameters.verbose }}
254 EOF
255 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-mi-secure-openhcl-igvm"
256 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-mi-secure-openhcl-igvm" | $FLOWEY_BIN v 16 'artifact_publish_from_x64-mi-secure-openhcl-igvm' --is-raw-string update
257 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-mi-secure-openhcl-igvm-extras"
258 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-mi-secure-openhcl-igvm-extras" | $FLOWEY_BIN v 16 'artifact_publish_from_x64-mi-secure-openhcl-igvm-extras' --is-raw-string update
259 displayName: πŸŒΌπŸ›« Initialize job
260 - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::install_dist_pkg 0
261 displayName: checking if packages need to be installed
262 - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::install_dist_pkg 1
263 displayName: installing packages
264 - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_gh_release 0
265 displayName: create gh-release-download cache dir
266 - bash: |-
267 set -e
268 $(FLOWEY_BIN) e 16 flowey_lib_common::cache 0
269 $FLOWEY_BIN v 16 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar1
270 $FLOWEY_BIN v 16 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar2
271 displayName: Pre-processing cache vars
272 - task: Cache@2
273 inputs:
274 key: $(floweyvar2)
275 path: $(floweyvar1)
276 cacheHitVar: FLOWEY_CACHE_HITVAR
277 displayName: 'Restore cache: gh-release-download'
278 - bash: |-
279 set -e
280 $FLOWEY_BIN v 16 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
281 $(FLOWEY_CACHE_HITVAR)
282 EOF
283 $(FLOWEY_BIN) e 16 flowey_lib_common::cache 2
284 displayName: map ADO hitvar to flowey
285 - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_gh_release 1
286 displayName: download artifacts from github releases
287 - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openvmm_deps 0
288 displayName: unpack openvmm-deps archive
289 - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::install_rust 0
290 displayName: install Rust
291 - bash: |-
292 set -e
293 $(FLOWEY_BIN) e 16 flowey_lib_common::install_rust 1
294 $(FLOWEY_BIN) e 16 flowey_lib_common::cfg_cargo_common_flags 0
295 displayName: detect active toolchain
296 - bash: |-
297 set -e
298 $(FLOWEY_BIN) e 16 flowey_lib_common::git_checkout 0
299 $FLOWEY_BIN v 16 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar3
300 $FLOWEY_BIN v 16 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
301 displayName: check if openvmm needs to be cloned
302 - checkout: self
303 path: repo0
304 fetchTags: false
305 fetchDepth: 1
306 persistCredentials: $(floweyvar3)
307 submodules: recursive
308 displayName: checkout repo openvmm
309 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
310 - bash: |-
311 set -e
312 $(FLOWEY_BIN) e 16 flowey_lib_common::git_checkout 2
313 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0
314 displayName: report cloned repo directories
315 - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
316 displayName: set '-Dwarnings' in .cargo/config.toml
317 - bash: |-
318 set -e
319 $(FLOWEY_BIN) e 16 flowey_lib_common::resolve_protoc 0
320 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::cfg_openvmm_magicpath 0
321 displayName: unpack protoc
322 - bash: |-
323 set -e
324 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
325 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_cross_build 0
326 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 7
327 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 8
328 displayName: symlink protoc
329 - bash: |-
330 set -e
331 $(FLOWEY_BIN) e 16 flowey_lib_common::run_cargo_build 3
332 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 9
333 displayName: cargo build sidecar
334 - bash: |-
335 set -e
336 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_split_debug_info 4
337 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 10
338 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_sidecar 0
339 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_cross_build 1
340 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 2
341 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 3
342 displayName: split debug symbols
343 - bash: |-
344 set -e
345 $(FLOWEY_BIN) e 16 flowey_lib_common::run_cargo_build 1
346 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 4
347 displayName: cargo build openhcl_boot
348 - bash: |-
349 set -e
350 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_split_debug_info 3
351 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 5
352 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_boot 0
353 displayName: split debug symbols
354 - bash: |-
355 set -e
356 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
357 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28
358 displayName: extract and resolve kernel package
359 - bash: |-
360 set -e
361 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
362 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_cross_build 3
363 displayName: extract X86_64 sysroot.tar.gz
364 - bash: |-
365 set -e
366 $(FLOWEY_BIN) e 16 flowey_lib_common::run_cargo_build 2
367 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 6
368 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openvmm_hcl 0
369 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24
370 displayName: cargo build openvmm_hcl
371 - bash: |-
372 set -e
373 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_split_debug_info 2
374 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25
375 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26
376 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29
377 displayName: split debug symbols
378 - bash: |-
379 set -e
380 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_initrd 2
381 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30
382 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_cross_build 2
383 displayName: building openhcl initrd
384 - bash: |-
385 set -e
386 $(FLOWEY_BIN) e 16 flowey_lib_common::run_cargo_build 0
387 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 0
388 displayName: cargo build igvmfilegen
389 - bash: |-
390 set -e
391 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_split_debug_info 5
392 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_build 1
393 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_igvmfilegen 0
394 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31
395 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32
396 displayName: split debug symbols
397 - bash: |-
398 set -e
399 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_igvmfilegen 2
400 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
401 displayName: building igvm file
402 - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_uefi_mu_msvm 0
403 displayName: unpack mu_msvm package (x64)
404 - bash: |-
405 set -e
406 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
407 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
408 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
409 displayName: extract and resolve kernel package
410 - bash: |-
411 set -e
412 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_split_debug_info 1
413 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
414 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
415 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
416 displayName: split debug symbols
417 - bash: |-
418 set -e
419 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_initrd 1
420 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
421 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
422 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
423 displayName: building openhcl initrd
424 - bash: |-
425 set -e
426 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_igvmfilegen 1
427 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4
428 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
429 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
430 displayName: building igvm file
431 - bash: |-
432 set -e
433 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_split_debug_info 0
434 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
435 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
436 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
437 displayName: split debug symbols
438 - bash: |-
439 set -e
440 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_initrd 0
441 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
442 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
443 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
444 displayName: building openhcl initrd
445 - bash: |-
446 set -e
447 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_igvmfilegen 0
448 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
449 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
450 displayName: building igvm file
451 - bash: |-
452 set -e
453 $(FLOWEY_BIN) e 16 flowey_lib_common::copy_to_artifact_dir 1
454 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22
455 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27
456 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23
457 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
458 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
459 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
460 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
461 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5
462 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
463 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
464 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
465 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
466 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
467 displayName: copying OpenHCL igvm files to artifact dir
468 - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::copy_to_artifact_dir 0
469 displayName: copying OpenHCL igvm extras to artifact dir
470 - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::cache 3
471 displayName: 'validate cache entry: gh-release-download'
472 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-mi-secure-openhcl-igvm
473 displayName: πŸŒΌπŸ“¦ Publish x64-mi-secure-openhcl-igvm
474 artifact: x64-mi-secure-openhcl-igvm
475 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-mi-secure-openhcl-igvm-extras
476 displayName: πŸŒΌπŸ“¦ Publish x64-mi-secure-openhcl-igvm-extras
477 artifact: x64-mi-secure-openhcl-igvm-extras
478- job: job12
479 displayName: clippy [x64-linux-musl, misc nostd], unit tests [x64-linux-musl]
480 pool:
481 demands:
482 - ImageOverride -equals ubuntu2404-amd64-256gb
483 name: openvmm-ado-intel-centralus
484 dependsOn:
485 - job0
486 condition: and(succeeded(), not(canceled()))
487 variables:
488 - name: FLOWEY_TEMP_DIR
489 value: $(Build.StagingDirectory)/.flowey-internal
490 steps:
491 - task: DownloadPipelineArtifact@2
492 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
493 inputs:
494 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
495 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
496 - bash: |
497 set -e
498 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
499 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
500 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
501
502 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
503 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
504 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
505 displayName: Set flowey path
506 - bash: |
507 set -e
508 echo '"debug"' | $FLOWEY_BIN v 12 'FLOWEY_LOG' update
509 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 12 '_internal_WORKING_DIR' --is-raw-string update
510
511 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 12 'verbose' update
512 ${{ parameters.verbose }}
513 EOF
514 displayName: πŸŒΌπŸ›« Initialize job
515 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::install_rust 0
516 displayName: install Rust
517 - bash: |-
518 set -e
519 $(FLOWEY_BIN) e 12 flowey_lib_common::install_rust 1
520 $(FLOWEY_BIN) e 12 flowey_lib_common::cfg_cargo_common_flags 0
521 displayName: detect active toolchain
522 - bash: |-
523 set -e
524 $(FLOWEY_BIN) e 12 flowey_lib_common::git_checkout 0
525 $FLOWEY_BIN v 12 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar10
526 $FLOWEY_BIN v 12 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
527 displayName: check if openvmm needs to be cloned
528 - checkout: self
529 path: repo0
530 fetchTags: false
531 fetchDepth: 1
532 persistCredentials: $(floweyvar10)
533 submodules: recursive
534 displayName: checkout repo openvmm
535 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
536 - bash: |-
537 set -e
538 $(FLOWEY_BIN) e 12 flowey_lib_common::git_checkout 2
539 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::git_checkout_openvmm_repo 0
540 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::cfg_openvmm_magicpath 0
541 displayName: report cloned repo directories
542 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::install_dist_pkg 0
543 displayName: checking if packages need to be installed
544 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::install_dist_pkg 1
545 displayName: installing packages
546 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::download_gh_release 0
547 displayName: create gh-release-download cache dir
548 - bash: |-
549 set -e
550 $(FLOWEY_BIN) e 12 flowey_lib_common::cache 4
551 $FLOWEY_BIN v 12 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar8
552 $FLOWEY_BIN v 12 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar9
553 displayName: Pre-processing cache vars
554 - task: Cache@2
555 inputs:
556 key: $(floweyvar9)
557 path: $(floweyvar8)
558 cacheHitVar: FLOWEY_CACHE_HITVAR
559 displayName: 'Restore cache: gh-release-download'
560 - bash: |-
561 set -e
562 $FLOWEY_BIN v 12 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
563 $(FLOWEY_CACHE_HITVAR)
564 EOF
565 $(FLOWEY_BIN) e 12 flowey_lib_common::cache 6
566 displayName: map ADO hitvar to flowey
567 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::download_gh_release 1
568 displayName: download artifacts from github releases
569 - bash: $(FLOWEY_BIN) e 12 flowey_lib_hvlite::resolve_openvmm_deps 0
570 displayName: unpack openvmm-deps archive
571 - bash: $(FLOWEY_BIN) e 12 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
572 displayName: extract X86_64 sysroot.tar.gz
573 - bash: $(FLOWEY_BIN) e 12 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
574 displayName: set '-Dwarnings' in .cargo/config.toml
575 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::resolve_protoc 0
576 displayName: unpack protoc
577 - bash: |-
578 set -e
579 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
580 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::init_cross_build 2
581 displayName: symlink protoc
582 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_clippy 4
583 displayName: cargo clippy
584 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_clippy 1
585 displayName: cargo clippy
586 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_clippy 6
587 displayName: cargo clippy
588 - bash: |-
589 set -e
590 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_clippy 5
591 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::init_cross_build 0
592 displayName: cargo clippy
593 - bash: |-
594 set -e
595 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_build 0
596 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::run_cargo_build 0
597 displayName: cargo build xtask
598 - bash: |-
599 set -e
600 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::run_split_debug_info 1
601 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::run_cargo_build 1
602 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_xtask 0
603 displayName: split debug symbols
604 - bash: $(FLOWEY_BIN) e 12 flowey_lib_hvlite::_jobs::check_clippy 0
605 displayName: determine clippy exclusions
606 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_clippy 0
607 displayName: cargo clippy
608 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_clippy 2
609 displayName: cargo clippy
610 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_clippy 3
611 displayName: cargo clippy
612 - bash: |-
613 set -e
614 $(FLOWEY_BIN) e 12 flowey_lib_common::download_cargo_nextest 0
615 $(FLOWEY_BIN) e 12 flowey_lib_common::download_cargo_nextest 1
616 $(FLOWEY_BIN) e 12 flowey_lib_common::download_cargo_nextest 2
617 $(FLOWEY_BIN) e 12 flowey_lib_common::download_cargo_nextest 3
618 displayName: create cargo-nextest cache dir
619 - bash: |-
620 set -e
621 $(FLOWEY_BIN) e 12 flowey_lib_common::cache 0
622 $FLOWEY_BIN v 12 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar6
623 $FLOWEY_BIN v 12 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar7
624 displayName: Pre-processing cache vars
625 - task: Cache@2
626 inputs:
627 key: $(floweyvar7)
628 path: $(floweyvar6)
629 cacheHitVar: FLOWEY_CACHE_HITVAR
630 displayName: 'Restore cache: cargo-nextest'
631 - bash: |-
632 set -e
633 $FLOWEY_BIN v 12 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
634 $(FLOWEY_CACHE_HITVAR)
635 EOF
636 $(FLOWEY_BIN) e 12 flowey_lib_common::cache 2
637 displayName: map ADO hitvar to flowey
638 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::download_cargo_nextest 4
639 displayName: downloading cargo-nextest
640 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::install_rust 2
641 displayName: report $CARGO_HOME
642 - bash: |-
643 set -e
644 $(FLOWEY_BIN) e 12 flowey_lib_common::install_cargo_nextest 0
645 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::init_cross_build 3
646 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::run_cargo_nextest_run 0
647 displayName: installing cargo-nextest
648 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::gen_cargo_nextest_run_cmd 2
649 displayName: generate nextest command
650 - bash: |-
651 set -e
652 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 4
653 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 5
654 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_nextest_unit_tests 3
655 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 5
656 $(FLOWEY_BIN) e 12 flowey_lib_common::ado_task_publish_test_results 6
657 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 4
658 $FLOWEY_BIN v 12 'flowey_lib_common::ado_task_publish_test_results:6:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar4
659 $FLOWEY_BIN v 12 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
660 displayName: run 'unit-tests crypto (openssl)' nextest tests
661 - task: PublishTestResults@2
662 inputs:
663 testResultsFormat: JUnit
664 testResultsFiles: $(floweyvar4)
665 testRunTitle: x64-linux-musl-unit-tests-unit-tests crypto (openssl)
666 displayName: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (openssl) (JUnit XML)'
667 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
668 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::gen_cargo_nextest_run_cmd 3
669 displayName: generate nextest command
670 - bash: |-
671 set -e
672 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 6
673 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 7
674 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_nextest_unit_tests 4
675 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 7
676 $(FLOWEY_BIN) e 12 flowey_lib_common::ado_task_publish_test_results 8
677 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 6
678 $FLOWEY_BIN v 12 'flowey_lib_common::ado_task_publish_test_results:8:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar5
679 $FLOWEY_BIN v 12 'flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
680 displayName: run 'unit-tests crypto (symcrypt)' nextest tests
681 - task: PublishTestResults@2
682 inputs:
683 testResultsFormat: JUnit
684 testResultsFiles: $(floweyvar5)
685 testRunTitle: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt)
686 displayName: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)'
687 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
688 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::gen_cargo_nextest_run_cmd 0
689 displayName: generate nextest command
690 - bash: |-
691 set -e
692 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 0
693 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 1
694 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_nextest_unit_tests 5
695 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 9
696 $(FLOWEY_BIN) e 12 flowey_lib_common::ado_task_publish_test_results 2
697 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 8
698 $FLOWEY_BIN v 12 'flowey_lib_common::ado_task_publish_test_results:2:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar2
699 $FLOWEY_BIN v 12 'flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
700 displayName: run 'unit-tests crypto (all)' nextest tests
701 - task: PublishTestResults@2
702 inputs:
703 testResultsFormat: JUnit
704 testResultsFiles: $(floweyvar2)
705 testRunTitle: x64-linux-musl-unit-tests-unit-tests crypto (all)
706 displayName: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (all) (JUnit XML)'
707 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
708 - bash: |-
709 set -e
710 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::init_cross_build 1
711 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_build 1
712 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::run_cargo_build 2
713 displayName: cargo build xtask
714 - bash: |-
715 set -e
716 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::run_split_debug_info 0
717 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::run_cargo_build 3
718 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_xtask 1
719 displayName: split debug symbols
720 - bash: $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_nextest_unit_tests 0
721 displayName: determine unit test exclusions
722 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::gen_cargo_nextest_run_cmd 4
723 displayName: generate nextest command
724 - bash: |-
725 set -e
726 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 8
727 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 9
728 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_nextest_unit_tests 1
729 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 1
730 $(FLOWEY_BIN) e 12 flowey_lib_common::ado_task_publish_test_results 0
731 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 0
732 $FLOWEY_BIN v 12 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar1
733 $FLOWEY_BIN v 12 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
734 displayName: run 'unit-tests' nextest tests
735 - task: PublishTestResults@2
736 inputs:
737 testResultsFormat: JUnit
738 testResultsFiles: $(floweyvar1)
739 testRunTitle: x64-linux-musl-unit-tests-unit-tests
740 displayName: 'publish test results: x64-linux-musl-unit-tests-unit-tests (JUnit XML)'
741 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
742 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::gen_cargo_nextest_run_cmd 1
743 displayName: generate nextest command
744 - bash: |-
745 set -e
746 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 2
747 $(FLOWEY_BIN) e 12 flowey_lib_common::run_cargo_nextest_run 3
748 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_nextest_unit_tests 2
749 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 3
750 $(FLOWEY_BIN) e 12 flowey_lib_common::ado_task_publish_test_results 4
751 $(FLOWEY_BIN) e 12 flowey_lib_common::publish_test_results 2
752 $FLOWEY_BIN v 12 'flowey_lib_common::ado_task_publish_test_results:4:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar3
753 $FLOWEY_BIN v 12 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
754 displayName: run 'unit-tests crypto (none)' nextest tests
755 - task: PublishTestResults@2
756 inputs:
757 testResultsFormat: JUnit
758 testResultsFiles: $(floweyvar3)
759 testRunTitle: x64-linux-musl-unit-tests-unit-tests crypto (none)
760 displayName: 'publish test results: x64-linux-musl-unit-tests-unit-tests crypto (none) (JUnit XML)'
761 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
762 - bash: |-
763 set -e
764 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::build_nextest_unit_tests 6
765 $(FLOWEY_BIN) e 12 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
766 displayName: report test results to overall pipeline status
767 - bash: $(FLOWEY_BIN) e 12 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
768 displayName: run doctests for x86_64-unknown-linux-musl
769 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::cache 3
770 displayName: 'validate cache entry: cargo-nextest'
771 - bash: $(FLOWEY_BIN) e 12 flowey_lib_common::cache 7
772 displayName: 'validate cache entry: gh-release-download'
773- job: job11
774 displayName: clippy [macos], unit tests [x64-linux]
775 pool:
776 demands:
777 - ImageOverride -equals ubuntu2404-amd64-256gb
778 name: openvmm-ado-intel-centralus
779 dependsOn:
780 - job0
781 condition: and(succeeded(), not(canceled()))
782 variables:
783 - name: FLOWEY_TEMP_DIR
784 value: $(Build.StagingDirectory)/.flowey-internal
785 steps:
786 - task: DownloadPipelineArtifact@2
787 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
788 inputs:
789 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
790 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
791 - bash: |
792 set -e
793 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
794 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
795 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
796
797 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
798 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
799 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
800 displayName: Set flowey path
801 - bash: |
802 set -e
803 echo '"debug"' | $FLOWEY_BIN v 11 'FLOWEY_LOG' update
804 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 11 '_internal_WORKING_DIR' --is-raw-string update
805
806 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 11 'verbose' update
807 ${{ parameters.verbose }}
808 EOF
809 displayName: πŸŒΌπŸ›« Initialize job
810 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::install_rust 0
811 displayName: install Rust
812 - bash: |-
813 set -e
814 $(FLOWEY_BIN) e 11 flowey_lib_common::install_rust 1
815 $(FLOWEY_BIN) e 11 flowey_lib_common::cfg_cargo_common_flags 0
816 displayName: detect active toolchain
817 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::install_dist_pkg 0
818 displayName: checking if packages need to be installed
819 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::install_dist_pkg 1
820 displayName: installing packages
821 - bash: |-
822 set -e
823 $(FLOWEY_BIN) e 11 flowey_lib_common::git_checkout 0
824 $FLOWEY_BIN v 11 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar10
825 $FLOWEY_BIN v 11 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
826 displayName: check if openvmm needs to be cloned
827 - checkout: self
828 path: repo0
829 fetchTags: false
830 fetchDepth: 1
831 persistCredentials: $(floweyvar10)
832 submodules: recursive
833 displayName: checkout repo openvmm
834 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
835 - bash: |-
836 set -e
837 $(FLOWEY_BIN) e 11 flowey_lib_common::git_checkout 2
838 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::git_checkout_openvmm_repo 0
839 displayName: report cloned repo directories
840 - bash: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
841 displayName: set '-Dwarnings' in .cargo/config.toml
842 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::download_gh_release 0
843 displayName: create gh-release-download cache dir
844 - bash: |-
845 set -e
846 $(FLOWEY_BIN) e 11 flowey_lib_common::cache 4
847 $FLOWEY_BIN v 11 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar8
848 $FLOWEY_BIN v 11 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar9
849 displayName: Pre-processing cache vars
850 - task: Cache@2
851 inputs:
852 key: $(floweyvar9)
853 path: $(floweyvar8)
854 cacheHitVar: FLOWEY_CACHE_HITVAR
855 displayName: 'Restore cache: gh-release-download'
856 - bash: |-
857 set -e
858 $FLOWEY_BIN v 11 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
859 $(FLOWEY_CACHE_HITVAR)
860 EOF
861 $(FLOWEY_BIN) e 11 flowey_lib_common::cache 6
862 displayName: map ADO hitvar to flowey
863 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::download_gh_release 1
864 displayName: download artifacts from github releases
865 - bash: |-
866 set -e
867 $(FLOWEY_BIN) e 11 flowey_lib_common::resolve_protoc 0
868 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::cfg_openvmm_magicpath 0
869 displayName: unpack protoc
870 - bash: |-
871 set -e
872 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
873 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 1
874 displayName: symlink protoc
875 - bash: |-
876 set -e
877 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_build 0
878 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_build 0
879 displayName: cargo build xtask
880 - bash: |-
881 set -e
882 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_split_debug_info 1
883 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_build 1
884 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_xtask 0
885 displayName: split debug symbols
886 - bash: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::_jobs::check_clippy 0
887 displayName: determine clippy exclusions
888 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_clippy 0
889 displayName: cargo clippy
890 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_clippy 1
891 displayName: cargo clippy
892 - bash: |-
893 set -e
894 $(FLOWEY_BIN) e 11 flowey_lib_common::download_cargo_nextest 0
895 $(FLOWEY_BIN) e 11 flowey_lib_common::download_cargo_nextest 1
896 $(FLOWEY_BIN) e 11 flowey_lib_common::download_cargo_nextest 2
897 $(FLOWEY_BIN) e 11 flowey_lib_common::download_cargo_nextest 3
898 displayName: create cargo-nextest cache dir
899 - bash: |-
900 set -e
901 $(FLOWEY_BIN) e 11 flowey_lib_common::cache 0
902 $FLOWEY_BIN v 11 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar6
903 $FLOWEY_BIN v 11 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar7
904 displayName: Pre-processing cache vars
905 - task: Cache@2
906 inputs:
907 key: $(floweyvar7)
908 path: $(floweyvar6)
909 cacheHitVar: FLOWEY_CACHE_HITVAR
910 displayName: 'Restore cache: cargo-nextest'
911 - bash: |-
912 set -e
913 $FLOWEY_BIN v 11 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
914 $(FLOWEY_CACHE_HITVAR)
915 EOF
916 $(FLOWEY_BIN) e 11 flowey_lib_common::cache 2
917 displayName: map ADO hitvar to flowey
918 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::download_cargo_nextest 4
919 displayName: downloading cargo-nextest
920 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::install_rust 2
921 displayName: report $CARGO_HOME
922 - bash: |-
923 set -e
924 $(FLOWEY_BIN) e 11 flowey_lib_common::install_cargo_nextest 0
925 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 0
926 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_nextest_run 0
927 displayName: installing cargo-nextest
928 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::gen_cargo_nextest_run_cmd 2
929 displayName: generate nextest command
930 - bash: |-
931 set -e
932 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 4
933 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 5
934 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_nextest_unit_tests 3
935 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 5
936 $(FLOWEY_BIN) e 11 flowey_lib_common::ado_task_publish_test_results 6
937 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 4
938 $FLOWEY_BIN v 11 'flowey_lib_common::ado_task_publish_test_results:6:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar4
939 $FLOWEY_BIN v 11 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
940 displayName: run 'unit-tests crypto (openssl)' nextest tests
941 - task: PublishTestResults@2
942 inputs:
943 testResultsFormat: JUnit
944 testResultsFiles: $(floweyvar4)
945 testRunTitle: x64-linux-unit-tests-unit-tests crypto (openssl)
946 displayName: 'publish test results: x64-linux-unit-tests-unit-tests crypto (openssl) (JUnit XML)'
947 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
948 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::gen_cargo_nextest_run_cmd 3
949 displayName: generate nextest command
950 - bash: |-
951 set -e
952 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 6
953 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 7
954 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_nextest_unit_tests 4
955 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 7
956 $(FLOWEY_BIN) e 11 flowey_lib_common::ado_task_publish_test_results 8
957 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 6
958 $FLOWEY_BIN v 11 'flowey_lib_common::ado_task_publish_test_results:8:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar5
959 $FLOWEY_BIN v 11 'flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
960 displayName: run 'unit-tests crypto (symcrypt)' nextest tests
961 - task: PublishTestResults@2
962 inputs:
963 testResultsFormat: JUnit
964 testResultsFiles: $(floweyvar5)
965 testRunTitle: x64-linux-unit-tests-unit-tests crypto (symcrypt)
966 displayName: 'publish test results: x64-linux-unit-tests-unit-tests crypto (symcrypt) (JUnit XML)'
967 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
968 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::gen_cargo_nextest_run_cmd 0
969 displayName: generate nextest command
970 - bash: |-
971 set -e
972 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 0
973 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 1
974 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_nextest_unit_tests 5
975 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 9
976 $(FLOWEY_BIN) e 11 flowey_lib_common::ado_task_publish_test_results 2
977 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 8
978 $FLOWEY_BIN v 11 'flowey_lib_common::ado_task_publish_test_results:2:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar2
979 $FLOWEY_BIN v 11 'flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
980 displayName: run 'unit-tests crypto (all)' nextest tests
981 - task: PublishTestResults@2
982 inputs:
983 testResultsFormat: JUnit
984 testResultsFiles: $(floweyvar2)
985 testRunTitle: x64-linux-unit-tests-unit-tests crypto (all)
986 displayName: 'publish test results: x64-linux-unit-tests-unit-tests crypto (all) (JUnit XML)'
987 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
988 - bash: |-
989 set -e
990 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::init_cross_build 2
991 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_build 1
992 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_build 2
993 displayName: cargo build xtask
994 - bash: |-
995 set -e
996 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_split_debug_info 0
997 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::run_cargo_build 3
998 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_xtask 1
999 displayName: split debug symbols
1000 - bash: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_nextest_unit_tests 0
1001 displayName: determine unit test exclusions
1002 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::gen_cargo_nextest_run_cmd 4
1003 displayName: generate nextest command
1004 - bash: |-
1005 set -e
1006 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 8
1007 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 9
1008 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_nextest_unit_tests 1
1009 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 1
1010 $(FLOWEY_BIN) e 11 flowey_lib_common::ado_task_publish_test_results 0
1011 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 0
1012 $FLOWEY_BIN v 11 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar1
1013 $FLOWEY_BIN v 11 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
1014 displayName: run 'unit-tests' nextest tests
1015 - task: PublishTestResults@2
1016 inputs:
1017 testResultsFormat: JUnit
1018 testResultsFiles: $(floweyvar1)
1019 testRunTitle: x64-linux-unit-tests-unit-tests
1020 displayName: 'publish test results: x64-linux-unit-tests-unit-tests (JUnit XML)'
1021 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
1022 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::gen_cargo_nextest_run_cmd 1
1023 displayName: generate nextest command
1024 - bash: |-
1025 set -e
1026 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 2
1027 $(FLOWEY_BIN) e 11 flowey_lib_common::run_cargo_nextest_run 3
1028 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_nextest_unit_tests 2
1029 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 3
1030 $(FLOWEY_BIN) e 11 flowey_lib_common::ado_task_publish_test_results 4
1031 $(FLOWEY_BIN) e 11 flowey_lib_common::publish_test_results 2
1032 $FLOWEY_BIN v 11 'flowey_lib_common::ado_task_publish_test_results:4:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar3
1033 $FLOWEY_BIN v 11 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
1034 displayName: run 'unit-tests crypto (none)' nextest tests
1035 - task: PublishTestResults@2
1036 inputs:
1037 testResultsFormat: JUnit
1038 testResultsFiles: $(floweyvar3)
1039 testRunTitle: x64-linux-unit-tests-unit-tests crypto (none)
1040 displayName: 'publish test results: x64-linux-unit-tests-unit-tests crypto (none) (JUnit XML)'
1041 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
1042 - bash: |-
1043 set -e
1044 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::build_nextest_unit_tests 6
1045 $(FLOWEY_BIN) e 11 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
1046 displayName: report test results to overall pipeline status
1047 - bash: $(FLOWEY_BIN) e 11 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
1048 displayName: run doctests for x86_64-unknown-linux-gnu
1049 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::cache 3
1050 displayName: 'validate cache entry: cargo-nextest'
1051 - bash: $(FLOWEY_BIN) e 11 flowey_lib_common::cache 7
1052 displayName: 'validate cache entry: gh-release-download'
1053- job: job10
1054 displayName: clippy [x64-windows], unit tests [x64-windows]
1055 pool:
1056 demands:
1057 - ImageOverride -equals win-amd64
1058 name: openvmm-ado-intel-centralus
1059 dependsOn:
1060 - job0
1061 condition: and(succeeded(), not(canceled()))
1062 variables:
1063 - name: FLOWEY_TEMP_DIR
1064 value: $(Build.StagingDirectory)/.flowey-internal
1065 steps:
1066 - bash: |
1067 set -x
1068 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
1069 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
1070 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
1071 . "$HOME/.cargo/env"
1072 echo '##vso[task.prependpath]$(HOME)/.cargo/bin'
1073 condition: eq(variables['Agent.OS'], 'Linux')
1074 displayName: rustup (Linux)
1075 - bash: |
1076 set -x
1077 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
1078 ./rustup-init.exe -y --default-toolchain=1.95.0
1079 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin'
1080 condition: eq(variables['Agent.OS'], 'Windows_NT')
1081 displayName: rustup (Windows X64)
1082 - bash: |
1083 set -x
1084 rustup show
1085 displayName: Verify rustup installation
1086 - checkout: self
1087 fetchTags: false
1088 fetchDepth: 1
1089 path: flowey_bootstrap
1090 - bash: CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
1091 workingDirectory: ../flowey_bootstrap
1092 displayName: Build flowey
1093 - bash: |
1094 mkdir ./flowey_bootstrap_temp
1095 mv ./ci-flowey/openvmm-pr.yaml ./flowey_bootstrap_temp/pipeline.yaml
1096 mv ./ci-flowey/openvmm-pr.json ./flowey_bootstrap_temp/pipeline.json
1097 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe ./flowey_bootstrap_temp/flowey.exe
1098 workingDirectory: ../flowey_bootstrap
1099 displayName: Stage flowey artifact
1100 - task: CopyFiles@2
1101 displayName: Copy flowey artifact
1102 inputs:
1103 SourceFolder: ../flowey_bootstrap/flowey_bootstrap_temp
1104 TargetFolder: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
1105 - bash: rm -rf ./flowey_bootstrap_temp
1106 workingDirectory: ../flowey_bootstrap
1107 displayName: Cleanup staged flowey artifact
1108 - bash: |
1109 set -e
1110 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
1111 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1112 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
1113
1114 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
1115 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
1116 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
1117 displayName: Set flowey path
1118 - bash: |-
1119 ESCAPED_AGENT_TEMPDIR=$(
1120 cat <<'EOF' | sed 's/\\/\\\\/g'
1121 $(FLOWEY_TEMP_DIR)
1122 EOF
1123 )
1124 $(FLOWEY_BIN) pipeline ado --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out ci-flowey/openvmm-pr.yaml ci checkin-gates --config=pr
1125 displayName: πŸŒΌπŸ”Ž Self-check YAML
1126 - bash: |
1127 set -e
1128 echo '"debug"' | $FLOWEY_BIN v 10 'FLOWEY_LOG' update
1129 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 10 '_internal_WORKING_DIR' --is-raw-string update
1130
1131 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 10 'verbose' update
1132 ${{ parameters.verbose }}
1133 EOF
1134 displayName: πŸŒΌπŸ›« Initialize job
1135 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::install_rust 0
1136 displayName: install Rust
1137 - bash: |-
1138 set -e
1139 $(FLOWEY_BIN) e 10 flowey_lib_common::install_rust 1
1140 $(FLOWEY_BIN) e 10 flowey_lib_common::cfg_cargo_common_flags 0
1141 displayName: detect active toolchain
1142 - bash: |-
1143 set -e
1144 $(FLOWEY_BIN) e 10 flowey_lib_common::git_checkout 0
1145 $FLOWEY_BIN v 10 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar7
1146 $FLOWEY_BIN v 10 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
1147 displayName: check if openvmm needs to be cloned
1148 - checkout: self
1149 path: repo0
1150 fetchTags: false
1151 fetchDepth: 1
1152 persistCredentials: $(floweyvar7)
1153 submodules: recursive
1154 displayName: checkout repo openvmm
1155 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
1156 - bash: |-
1157 set -e
1158 $(FLOWEY_BIN) e 10 flowey_lib_common::git_checkout 2
1159 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1160 displayName: report cloned repo directories
1161 - bash: $(FLOWEY_BIN) e 10 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1162 displayName: set '-Dwarnings' in .cargo/config.toml
1163 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::download_gh_release 0
1164 displayName: create gh-release-download cache dir
1165 - bash: |-
1166 set -e
1167 $(FLOWEY_BIN) e 10 flowey_lib_common::cache 4
1168 $FLOWEY_BIN v 10 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar5
1169 $FLOWEY_BIN v 10 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar6
1170 displayName: Pre-processing cache vars
1171 - task: Cache@2
1172 inputs:
1173 key: $(floweyvar6)
1174 path: $(floweyvar5)
1175 cacheHitVar: FLOWEY_CACHE_HITVAR
1176 displayName: 'Restore cache: gh-release-download'
1177 - bash: |-
1178 set -e
1179 $FLOWEY_BIN v 10 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
1180 $(FLOWEY_CACHE_HITVAR)
1181 EOF
1182 $(FLOWEY_BIN) e 10 flowey_lib_common::cache 6
1183 displayName: map ADO hitvar to flowey
1184 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::download_gh_release 1
1185 displayName: download artifacts from github releases
1186 - bash: |-
1187 set -e
1188 $(FLOWEY_BIN) e 10 flowey_lib_common::resolve_protoc 0
1189 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1190 displayName: unpack protoc
1191 - bash: |-
1192 set -e
1193 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1194 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::init_cross_build 0
1195 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::init_cross_build 2
1196 displayName: symlink protoc
1197 - bash: |-
1198 set -e
1199 $(FLOWEY_BIN) e 10 flowey_lib_common::run_cargo_build 0
1200 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::run_cargo_build 0
1201 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::build_xtask 0
1202 displayName: cargo build xtask
1203 - bash: $(FLOWEY_BIN) e 10 flowey_lib_hvlite::_jobs::check_clippy 0
1204 displayName: determine clippy exclusions
1205 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::run_cargo_clippy 0
1206 displayName: cargo clippy
1207 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::run_cargo_clippy 1
1208 displayName: cargo clippy
1209 - bash: |-
1210 set -e
1211 $(FLOWEY_BIN) e 10 flowey_lib_common::download_cargo_nextest 0
1212 $(FLOWEY_BIN) e 10 flowey_lib_common::download_cargo_nextest 1
1213 $(FLOWEY_BIN) e 10 flowey_lib_common::download_cargo_nextest 2
1214 $(FLOWEY_BIN) e 10 flowey_lib_common::download_cargo_nextest 3
1215 displayName: create cargo-nextest cache dir
1216 - bash: |-
1217 set -e
1218 $(FLOWEY_BIN) e 10 flowey_lib_common::cache 0
1219 $FLOWEY_BIN v 10 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar3
1220 $FLOWEY_BIN v 10 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar4
1221 displayName: Pre-processing cache vars
1222 - task: Cache@2
1223 inputs:
1224 key: $(floweyvar4)
1225 path: $(floweyvar3)
1226 cacheHitVar: FLOWEY_CACHE_HITVAR
1227 displayName: 'Restore cache: cargo-nextest'
1228 - bash: |-
1229 set -e
1230 $FLOWEY_BIN v 10 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
1231 $(FLOWEY_CACHE_HITVAR)
1232 EOF
1233 $(FLOWEY_BIN) e 10 flowey_lib_common::cache 2
1234 displayName: map ADO hitvar to flowey
1235 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::download_cargo_nextest 4
1236 displayName: downloading cargo-nextest
1237 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::install_rust 2
1238 displayName: report $CARGO_HOME
1239 - bash: |-
1240 set -e
1241 $(FLOWEY_BIN) e 10 flowey_lib_common::install_cargo_nextest 0
1242 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::init_cross_build 1
1243 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::run_cargo_nextest_run 0
1244 displayName: installing cargo-nextest
1245 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::gen_cargo_nextest_run_cmd 0
1246 displayName: generate nextest command
1247 - bash: |-
1248 set -e
1249 $(FLOWEY_BIN) e 10 flowey_lib_common::run_cargo_nextest_run 0
1250 $(FLOWEY_BIN) e 10 flowey_lib_common::run_cargo_nextest_run 1
1251 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::build_nextest_unit_tests 2
1252 $(FLOWEY_BIN) e 10 flowey_lib_common::publish_test_results 1
1253 $(FLOWEY_BIN) e 10 flowey_lib_common::ado_task_publish_test_results 2
1254 $(FLOWEY_BIN) e 10 flowey_lib_common::publish_test_results 0
1255 $FLOWEY_BIN v 10 'flowey_lib_common::ado_task_publish_test_results:2:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar2
1256 $FLOWEY_BIN v 10 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
1257 displayName: run 'unit-tests crypto (none)' nextest tests
1258 - task: PublishTestResults@2
1259 inputs:
1260 testResultsFormat: JUnit
1261 testResultsFiles: $(floweyvar2)
1262 testRunTitle: x64-windows-unit-tests-unit-tests crypto (none)
1263 displayName: 'publish test results: x64-windows-unit-tests-unit-tests crypto (none) (JUnit XML)'
1264 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
1265 - bash: |-
1266 set -e
1267 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::init_cross_build 3
1268 $(FLOWEY_BIN) e 10 flowey_lib_common::run_cargo_build 1
1269 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::run_cargo_build 1
1270 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::build_xtask 1
1271 displayName: cargo build xtask
1272 - bash: $(FLOWEY_BIN) e 10 flowey_lib_hvlite::build_nextest_unit_tests 0
1273 displayName: determine unit test exclusions
1274 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::gen_cargo_nextest_run_cmd 1
1275 displayName: generate nextest command
1276 - bash: |-
1277 set -e
1278 $(FLOWEY_BIN) e 10 flowey_lib_common::run_cargo_nextest_run 2
1279 $(FLOWEY_BIN) e 10 flowey_lib_common::run_cargo_nextest_run 3
1280 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::build_nextest_unit_tests 1
1281 $(FLOWEY_BIN) e 10 flowey_lib_common::publish_test_results 3
1282 $(FLOWEY_BIN) e 10 flowey_lib_common::ado_task_publish_test_results 0
1283 $(FLOWEY_BIN) e 10 flowey_lib_common::publish_test_results 2
1284 $FLOWEY_BIN v 10 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar1
1285 $FLOWEY_BIN v 10 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
1286 displayName: run 'unit-tests' nextest tests
1287 - task: PublishTestResults@2
1288 inputs:
1289 testResultsFormat: JUnit
1290 testResultsFiles: $(floweyvar1)
1291 testRunTitle: x64-windows-unit-tests-unit-tests
1292 displayName: 'publish test results: x64-windows-unit-tests-unit-tests (JUnit XML)'
1293 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
1294 - bash: |-
1295 set -e
1296 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::build_nextest_unit_tests 3
1297 $(FLOWEY_BIN) e 10 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0
1298 displayName: report test results to overall pipeline status
1299 - bash: $(FLOWEY_BIN) e 10 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0
1300 displayName: run doctests for x86_64-pc-windows-msvc
1301 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::cache 3
1302 displayName: 'validate cache entry: cargo-nextest'
1303 - bash: $(FLOWEY_BIN) e 10 flowey_lib_common::cache 7
1304 displayName: 'validate cache entry: gh-release-download'
1305- job: job9
1306 displayName: build openhcl [x64-linux]
1307 pool:
1308 demands:
1309 - ImageOverride -equals ubuntu2404-amd64-256gb
1310 name: openvmm-ado-intel-centralus
1311 dependsOn:
1312 - job0
1313 condition: and(succeeded(), not(canceled()))
1314 variables:
1315 - name: FLOWEY_TEMP_DIR
1316 value: $(Build.StagingDirectory)/.flowey-internal
1317 steps:
1318 - task: DownloadPipelineArtifact@2
1319 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
1320 inputs:
1321 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
1322 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
1323 - bash: |
1324 set -e
1325 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
1326 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1327 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
1328
1329 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
1330 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
1331 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
1332 displayName: Set flowey path
1333 - bash: |
1334 set -e
1335 echo '"debug"' | $FLOWEY_BIN v 9 'FLOWEY_LOG' update
1336 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 9 '_internal_WORKING_DIR' --is-raw-string update
1337
1338 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 9 'verbose' update
1339 ${{ parameters.verbose }}
1340 EOF
1341 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-openvmm"
1342 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update
1343 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-openvmm_vhost"
1344 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm_vhost" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update
1345 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-pipette"
1346 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-pipette" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-pipette' --is-raw-string update
1347 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-tmk_vmm"
1348 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-tmk_vmm" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-tmk_vmm' --is-raw-string update
1349 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-vmm-tests-archive"
1350 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-vmm-tests-archive" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update
1351 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-openhcl-igvm"
1352 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-openhcl-igvm" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-openhcl-igvm' --is-raw-string update
1353 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-openhcl-igvm-extras"
1354 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-openhcl-igvm-extras" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-openhcl-igvm-extras' --is-raw-string update
1355 displayName: πŸŒΌπŸ›« Initialize job
1356 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::install_dist_pkg 0
1357 displayName: checking if packages need to be installed
1358 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::install_dist_pkg 1
1359 displayName: installing packages
1360 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::download_gh_release 0
1361 displayName: create gh-release-download cache dir
1362 - bash: |-
1363 set -e
1364 $(FLOWEY_BIN) e 9 flowey_lib_common::cache 4
1365 $FLOWEY_BIN v 9 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar3
1366 $FLOWEY_BIN v 9 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar4
1367 displayName: Pre-processing cache vars
1368 - task: Cache@2
1369 inputs:
1370 key: $(floweyvar4)
1371 path: $(floweyvar3)
1372 cacheHitVar: FLOWEY_CACHE_HITVAR
1373 displayName: 'Restore cache: gh-release-download'
1374 - bash: |-
1375 set -e
1376 $FLOWEY_BIN v 9 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
1377 $(FLOWEY_CACHE_HITVAR)
1378 EOF
1379 $(FLOWEY_BIN) e 9 flowey_lib_common::cache 6
1380 displayName: map ADO hitvar to flowey
1381 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::download_gh_release 1
1382 displayName: download artifacts from github releases
1383 - bash: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::download_uefi_mu_msvm 0
1384 displayName: unpack mu_msvm package (x64)
1385 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::install_rust 0
1386 displayName: install Rust
1387 - bash: |-
1388 set -e
1389 $(FLOWEY_BIN) e 9 flowey_lib_common::install_rust 1
1390 $(FLOWEY_BIN) e 9 flowey_lib_common::cfg_cargo_common_flags 0
1391 displayName: detect active toolchain
1392 - bash: |-
1393 set -e
1394 $(FLOWEY_BIN) e 9 flowey_lib_common::git_checkout 0
1395 $FLOWEY_BIN v 9 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar5
1396 $FLOWEY_BIN v 9 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
1397 displayName: check if openvmm needs to be cloned
1398 - checkout: self
1399 path: repo0
1400 fetchTags: false
1401 fetchDepth: 1
1402 persistCredentials: $(floweyvar5)
1403 submodules: recursive
1404 displayName: checkout repo openvmm
1405 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
1406 - bash: |-
1407 set -e
1408 $(FLOWEY_BIN) e 9 flowey_lib_common::git_checkout 2
1409 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1410 displayName: report cloned repo directories
1411 - bash: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1412 displayName: set '-Dwarnings' in .cargo/config.toml
1413 - bash: |-
1414 set -e
1415 $(FLOWEY_BIN) e 9 flowey_lib_common::resolve_protoc 0
1416 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1417 displayName: unpack protoc
1418 - bash: |-
1419 set -e
1420 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1421 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 0
1422 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 13
1423 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 14
1424 displayName: symlink protoc
1425 - bash: |-
1426 set -e
1427 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 6
1428 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 15
1429 displayName: cargo build sidecar
1430 - bash: |-
1431 set -e
1432 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 10
1433 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 16
1434 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_sidecar 0
1435 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 1
1436 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 2
1437 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 3
1438 displayName: split debug symbols
1439 - bash: |-
1440 set -e
1441 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 1
1442 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 4
1443 displayName: cargo build openhcl_boot
1444 - bash: |-
1445 set -e
1446 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 5
1447 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 5
1448 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_boot 0
1449 displayName: split debug symbols
1450 - bash: |-
1451 set -e
1452 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::resolve_openhcl_kernel_package 2
1453 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28
1454 displayName: extract and resolve kernel package
1455 - bash: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::resolve_openvmm_deps 0
1456 displayName: unpack openvmm-deps archive
1457 - bash: |-
1458 set -e
1459 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
1460 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 5
1461 displayName: extract X86_64 sysroot.tar.gz
1462 - bash: |-
1463 set -e
1464 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 3
1465 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 8
1466 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm_hcl 0
1467 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24
1468 displayName: cargo build openvmm_hcl
1469 - bash: |-
1470 set -e
1471 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 4
1472 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25
1473 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26
1474 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29
1475 displayName: split debug symbols
1476 - bash: |-
1477 set -e
1478 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_initrd 4
1479 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30
1480 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 2
1481 displayName: building openhcl initrd
1482 - bash: |-
1483 set -e
1484 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 0
1485 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 0
1486 displayName: cargo build igvmfilegen
1487 - bash: |-
1488 set -e
1489 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 9
1490 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 1
1491 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_igvmfilegen 0
1492 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31
1493 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32
1494 displayName: split debug symbols
1495 - bash: |-
1496 set -e
1497 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_igvmfilegen 4
1498 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
1499 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 39
1500 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35
1501 displayName: building igvm file
1502 - bash: |-
1503 set -e
1504 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 0
1505 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36
1506 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37
1507 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 40
1508 displayName: split debug symbols
1509 - bash: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
1510 displayName: extract and resolve kernel package
1511 - bash: |-
1512 set -e
1513 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_initrd 0
1514 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 41
1515 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 42
1516 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 43
1517 displayName: building openhcl initrd
1518 - bash: |-
1519 set -e
1520 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_igvmfilegen 0
1521 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 4
1522 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 50
1523 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 46
1524 displayName: building igvm file
1525 - bash: |-
1526 set -e
1527 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 1
1528 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 47
1529 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 48
1530 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 51
1531 displayName: split debug symbols
1532 - bash: |-
1533 set -e
1534 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_initrd 1
1535 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 52
1536 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 53
1537 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 54
1538 displayName: building openhcl initrd
1539 - bash: |-
1540 set -e
1541 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_igvmfilegen 1
1542 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 6
1543 displayName: building igvm file
1544 - bash: |-
1545 set -e
1546 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
1547 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
1548 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
1549 displayName: extract and resolve kernel package
1550 - bash: |-
1551 set -e
1552 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 3
1553 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
1554 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
1555 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
1556 displayName: split debug symbols
1557 - bash: |-
1558 set -e
1559 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_initrd 3
1560 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
1561 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
1562 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
1563 displayName: building openhcl initrd
1564 - bash: |-
1565 set -e
1566 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_igvmfilegen 3
1567 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 8
1568 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
1569 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
1570 displayName: building igvm file
1571 - bash: |-
1572 set -e
1573 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 2
1574 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
1575 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
1576 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
1577 displayName: split debug symbols
1578 - bash: |-
1579 set -e
1580 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_initrd 2
1581 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
1582 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
1583 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
1584 displayName: building openhcl initrd
1585 - bash: |-
1586 set -e
1587 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_igvmfilegen 2
1588 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
1589 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
1590 displayName: building igvm file
1591 - bash: |-
1592 set -e
1593 $(FLOWEY_BIN) e 9 flowey_lib_common::copy_to_artifact_dir 1
1594 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22
1595 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27
1596 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23
1597 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
1598 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 38
1599 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34
1600 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33
1601 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 5
1602 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 49
1603 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 45
1604 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 44
1605 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 7
1606 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
1607 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
1608 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
1609 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 9
1610 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
1611 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
1612 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
1613 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
1614 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
1615 displayName: copying OpenHCL igvm files to artifact dir
1616 - bash: |-
1617 set -e
1618 $(FLOWEY_BIN) e 9 flowey_lib_common::copy_to_artifact_dir 0
1619 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 7
1620 displayName: copying OpenHCL igvm extras to artifact dir
1621 - bash: |-
1622 set -e
1623 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 5
1624 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 11
1625 displayName: cargo build pipette
1626 - bash: |-
1627 set -e
1628 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 8
1629 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 12
1630 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_pipette 0
1631 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 0
1632 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 8
1633 displayName: split debug symbols
1634 - bash: |-
1635 set -e
1636 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 7
1637 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 17
1638 displayName: cargo build tmk_vmm
1639 - bash: |-
1640 set -e
1641 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 11
1642 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 18
1643 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_tmk_vmm 0
1644 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 1
1645 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 4
1646 displayName: split debug symbols
1647 - bash: |-
1648 set -e
1649 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 2
1650 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 6
1651 displayName: cargo build openvmm
1652 - bash: |-
1653 set -e
1654 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 6
1655 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 7
1656 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm 0
1657 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 2
1658 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 6
1659 displayName: split debug symbols
1660 - bash: |-
1661 set -e
1662 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 4
1663 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 9
1664 displayName: cargo build openvmm_vhost
1665 - bash: |-
1666 set -e
1667 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 7
1668 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 10
1669 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm_vhost 0
1670 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 3
1671 displayName: split debug symbols
1672 - bash: |-
1673 set -e
1674 $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 0
1675 $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 1
1676 $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 2
1677 $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 3
1678 displayName: create cargo-nextest cache dir
1679 - bash: |-
1680 set -e
1681 $(FLOWEY_BIN) e 9 flowey_lib_common::cache 0
1682 $FLOWEY_BIN v 9 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar1
1683 $FLOWEY_BIN v 9 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar2
1684 displayName: Pre-processing cache vars
1685 - task: Cache@2
1686 inputs:
1687 key: $(floweyvar2)
1688 path: $(floweyvar1)
1689 cacheHitVar: FLOWEY_CACHE_HITVAR
1690 displayName: 'Restore cache: cargo-nextest'
1691 - bash: |-
1692 set -e
1693 $FLOWEY_BIN v 9 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
1694 $(FLOWEY_CACHE_HITVAR)
1695 EOF
1696 $(FLOWEY_BIN) e 9 flowey_lib_common::cache 2
1697 displayName: map ADO hitvar to flowey
1698 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 4
1699 displayName: downloading cargo-nextest
1700 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::install_rust 2
1701 displayName: report $CARGO_HOME
1702 - bash: |-
1703 set -e
1704 $(FLOWEY_BIN) e 9 flowey_lib_common::install_cargo_nextest 0
1705 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 3
1706 displayName: installing cargo-nextest
1707 - bash: |-
1708 set -e
1709 $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_nextest_archive 0
1710 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0
1711 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 4
1712 displayName: build + archive 'vmm_tests' nextests
1713 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::cache 3
1714 displayName: 'validate cache entry: cargo-nextest'
1715 - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::cache 7
1716 displayName: 'validate cache entry: gh-release-download'
1717 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm
1718 displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm
1719 artifact: x64-linux-musl-openvmm
1720 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm_vhost
1721 displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost
1722 artifact: x64-linux-musl-openvmm_vhost
1723 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-pipette
1724 displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-pipette
1725 artifact: x64-linux-musl-pipette
1726 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-tmk_vmm
1727 displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-tmk_vmm
1728 artifact: x64-linux-musl-tmk_vmm
1729 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-vmm-tests-archive
1730 displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive
1731 artifact: x64-linux-musl-vmm-tests-archive
1732 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-openhcl-igvm
1733 displayName: πŸŒΌπŸ“¦ Publish x64-openhcl-igvm
1734 artifact: x64-openhcl-igvm
1735 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-openhcl-igvm-extras
1736 displayName: πŸŒΌπŸ“¦ Publish x64-openhcl-igvm-extras
1737 artifact: x64-openhcl-igvm-extras
1738- job: job8
1739 displayName: build openhcl [aarch64-linux]
1740 pool:
1741 demands:
1742 - ImageOverride -equals ubuntu2404-amd64-256gb
1743 name: openvmm-ado-intel-centralus
1744 dependsOn:
1745 - job0
1746 condition: and(succeeded(), not(canceled()))
1747 variables:
1748 - name: FLOWEY_TEMP_DIR
1749 value: $(Build.StagingDirectory)/.flowey-internal
1750 steps:
1751 - task: DownloadPipelineArtifact@2
1752 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
1753 inputs:
1754 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
1755 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
1756 - bash: |
1757 set -e
1758 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
1759 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
1760 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
1761
1762 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
1763 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
1764 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
1765 displayName: Set flowey path
1766 - bash: |
1767 set -e
1768 echo '"debug"' | $FLOWEY_BIN v 8 'FLOWEY_LOG' update
1769 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 8 '_internal_WORKING_DIR' --is-raw-string update
1770
1771 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 8 'verbose' update
1772 ${{ parameters.verbose }}
1773 EOF
1774 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-pipette"
1775 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-pipette" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-musl-pipette' --is-raw-string update
1776 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-tmk_vmm"
1777 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-tmk_vmm" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update
1778 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-openhcl-igvm"
1779 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-openhcl-igvm" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-openhcl-igvm' --is-raw-string update
1780 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-openhcl-igvm-extras"
1781 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-openhcl-igvm-extras" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-openhcl-igvm-extras' --is-raw-string update
1782 displayName: πŸŒΌπŸ›« Initialize job
1783 - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::install_dist_pkg 0
1784 displayName: checking if packages need to be installed
1785 - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::install_dist_pkg 1
1786 displayName: installing packages
1787 - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::download_gh_release 0
1788 displayName: create gh-release-download cache dir
1789 - bash: |-
1790 set -e
1791 $(FLOWEY_BIN) e 8 flowey_lib_common::cache 0
1792 $FLOWEY_BIN v 8 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar1
1793 $FLOWEY_BIN v 8 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar2
1794 displayName: Pre-processing cache vars
1795 - task: Cache@2
1796 inputs:
1797 key: $(floweyvar2)
1798 path: $(floweyvar1)
1799 cacheHitVar: FLOWEY_CACHE_HITVAR
1800 displayName: 'Restore cache: gh-release-download'
1801 - bash: |-
1802 set -e
1803 $FLOWEY_BIN v 8 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
1804 $(FLOWEY_CACHE_HITVAR)
1805 EOF
1806 $(FLOWEY_BIN) e 8 flowey_lib_common::cache 2
1807 displayName: map ADO hitvar to flowey
1808 - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::download_gh_release 1
1809 displayName: download artifacts from github releases
1810 - bash: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::download_uefi_mu_msvm 0
1811 displayName: unpack mu_msvm package (aarch64)
1812 - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::install_rust 0
1813 displayName: install Rust
1814 - bash: |-
1815 set -e
1816 $(FLOWEY_BIN) e 8 flowey_lib_common::install_rust 1
1817 $(FLOWEY_BIN) e 8 flowey_lib_common::cfg_cargo_common_flags 0
1818 displayName: detect active toolchain
1819 - bash: |-
1820 set -e
1821 $(FLOWEY_BIN) e 8 flowey_lib_common::git_checkout 0
1822 $FLOWEY_BIN v 8 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar3
1823 $FLOWEY_BIN v 8 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
1824 displayName: check if openvmm needs to be cloned
1825 - checkout: self
1826 path: repo0
1827 fetchTags: false
1828 fetchDepth: 1
1829 persistCredentials: $(floweyvar3)
1830 submodules: recursive
1831 displayName: checkout repo openvmm
1832 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
1833 - bash: |-
1834 set -e
1835 $(FLOWEY_BIN) e 8 flowey_lib_common::git_checkout 2
1836 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::git_checkout_openvmm_repo 0
1837 displayName: report cloned repo directories
1838 - bash: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
1839 displayName: set '-Dwarnings' in .cargo/config.toml
1840 - bash: |-
1841 set -e
1842 $(FLOWEY_BIN) e 8 flowey_lib_common::resolve_protoc 0
1843 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::cfg_openvmm_magicpath 0
1844 displayName: unpack protoc
1845 - bash: |-
1846 set -e
1847 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
1848 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 0
1849 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 2
1850 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 3
1851 displayName: symlink protoc
1852 - bash: |-
1853 set -e
1854 $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 1
1855 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 4
1856 displayName: cargo build openhcl_boot
1857 - bash: |-
1858 set -e
1859 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 2
1860 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 5
1861 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_boot 0
1862 displayName: split debug symbols
1863 - bash: |-
1864 set -e
1865 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::resolve_openhcl_kernel_package 1
1866 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 17
1867 displayName: extract and resolve kernel package
1868 - bash: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::resolve_openvmm_deps 0
1869 displayName: unpack openvmm-deps archive
1870 - bash: |-
1871 set -e
1872 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0
1873 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 1
1874 displayName: extract Aarch64 sysroot.tar.gz
1875 - bash: |-
1876 set -e
1877 $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 2
1878 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 6
1879 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openvmm_hcl 0
1880 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 13
1881 displayName: cargo build openvmm_hcl
1882 - bash: |-
1883 set -e
1884 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 1
1885 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 14
1886 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 15
1887 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 18
1888 displayName: split debug symbols
1889 - bash: |-
1890 set -e
1891 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_initrd 1
1892 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 19
1893 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 4
1894 displayName: building openhcl initrd
1895 - bash: |-
1896 set -e
1897 $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 0
1898 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 0
1899 displayName: cargo build igvmfilegen
1900 - bash: |-
1901 set -e
1902 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 5
1903 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 1
1904 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_igvmfilegen 0
1905 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20
1906 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21
1907 displayName: split debug symbols
1908 - bash: |-
1909 set -e
1910 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_igvmfilegen 1
1911 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 2
1912 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 6
1913 displayName: building igvm file
1914 - bash: |-
1915 set -e
1916 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::resolve_openhcl_kernel_package 0
1917 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 2
1918 displayName: extract and resolve kernel package
1919 - bash: |-
1920 set -e
1921 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 0
1922 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 3
1923 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 4
1924 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 7
1925 displayName: split debug symbols
1926 - bash: |-
1927 set -e
1928 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_initrd 0
1929 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 8
1930 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 9
1931 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10
1932 displayName: building openhcl initrd
1933 - bash: |-
1934 set -e
1935 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_igvmfilegen 0
1936 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 0
1937 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::publish 0
1938 displayName: building igvm file
1939 - bash: |-
1940 set -e
1941 $(FLOWEY_BIN) e 8 flowey_lib_common::copy_to_artifact_dir 1
1942 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11
1943 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 16
1944 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 12
1945 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 3
1946 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 5
1947 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 1
1948 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 0
1949 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe 1
1950 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe_extras::publish 0
1951 displayName: copying OpenHCL igvm files to artifact dir
1952 - bash: |-
1953 set -e
1954 $(FLOWEY_BIN) e 8 flowey_lib_common::copy_to_artifact_dir 0
1955 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 2
1956 displayName: copying OpenHCL igvm extras to artifact dir
1957 - bash: |-
1958 set -e
1959 $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 3
1960 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 7
1961 displayName: cargo build pipette
1962 - bash: |-
1963 set -e
1964 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 3
1965 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 8
1966 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_pipette 0
1967 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 0
1968 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 3
1969 displayName: split debug symbols
1970 - bash: |-
1971 set -e
1972 $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 4
1973 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 9
1974 displayName: cargo build tmk_vmm
1975 - bash: |-
1976 set -e
1977 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 4
1978 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 10
1979 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_tmk_vmm 0
1980 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 1
1981 displayName: split debug symbols
1982 - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::cache 3
1983 displayName: 'validate cache entry: gh-release-download'
1984 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-pipette
1985 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette
1986 artifact: aarch64-linux-musl-pipette
1987 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-tmk_vmm
1988 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-tmk_vmm
1989 artifact: aarch64-linux-musl-tmk_vmm
1990 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-openhcl-igvm
1991 displayName: πŸŒΌπŸ“¦ Publish aarch64-openhcl-igvm
1992 artifact: aarch64-openhcl-igvm
1993 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-openhcl-igvm-extras
1994 displayName: πŸŒΌπŸ“¦ Publish aarch64-openhcl-igvm-extras
1995 artifact: aarch64-openhcl-igvm-extras
1996- job: job7
1997 displayName: build artifacts [x64-linux]
1998 pool:
1999 demands:
2000 - ImageOverride -equals ubuntu2404-amd64-256gb
2001 name: openvmm-ado-intel-centralus
2002 dependsOn:
2003 - job0
2004 condition: and(succeeded(), not(canceled()))
2005 variables:
2006 - name: FLOWEY_TEMP_DIR
2007 value: $(Build.StagingDirectory)/.flowey-internal
2008 steps:
2009 - task: DownloadPipelineArtifact@2
2010 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
2011 inputs:
2012 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
2013 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
2014 - bash: |
2015 set -e
2016 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
2017 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2018 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
2019
2020 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
2021 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
2022 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
2023 displayName: Set flowey path
2024 - bash: |
2025 set -e
2026 echo '"debug"' | $FLOWEY_BIN v 7 'FLOWEY_LOG' update
2027 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 7 '_internal_WORKING_DIR' --is-raw-string update
2028
2029 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 7 'verbose' update
2030 ${{ parameters.verbose }}
2031 EOF
2032 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-guest_test_uefi"
2033 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-guest_test_uefi" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-guest_test_uefi' --is-raw-string update
2034 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-igvmfilegen"
2035 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-igvmfilegen" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-linux-igvmfilegen' --is-raw-string update
2036 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-ohcldiag-dev"
2037 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-ohcldiag-dev" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-linux-ohcldiag-dev' --is-raw-string update
2038 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-openvmm"
2039 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-openvmm" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-linux-openvmm' --is-raw-string update
2040 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-openvmm_vhost"
2041 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-openvmm_vhost" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-linux-openvmm_vhost' --is-raw-string update
2042 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-tpm_guest_tests"
2043 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-tpm_guest_tests" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-linux-tpm_guest_tests' --is-raw-string update
2044 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-vmgs_lib"
2045 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmgs_lib" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-linux-vmgs_lib' --is-raw-string update
2046 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-vmgstool"
2047 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmgstool" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update
2048 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-vmm-tests-archive"
2049 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmm-tests-archive" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update
2050 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-tmks"
2051 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-tmks" | $FLOWEY_BIN v 7 'artifact_publish_from_x64-tmks' --is-raw-string update
2052 displayName: πŸŒΌπŸ›« Initialize job
2053 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::install_rust 0
2054 displayName: install Rust
2055 - bash: |-
2056 set -e
2057 $(FLOWEY_BIN) e 7 flowey_lib_common::install_rust 1
2058 $(FLOWEY_BIN) e 7 flowey_lib_common::cfg_cargo_common_flags 0
2059 displayName: detect active toolchain
2060 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::install_dist_pkg 0
2061 displayName: checking if packages need to be installed
2062 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::install_dist_pkg 1
2063 displayName: installing packages
2064 - bash: |-
2065 set -e
2066 $(FLOWEY_BIN) e 7 flowey_lib_common::git_checkout 0
2067 $FLOWEY_BIN v 7 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar1
2068 $FLOWEY_BIN v 7 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
2069 displayName: check if openvmm needs to be cloned
2070 - checkout: self
2071 path: repo0
2072 fetchTags: false
2073 fetchDepth: 1
2074 persistCredentials: $(floweyvar1)
2075 submodules: recursive
2076 displayName: checkout repo openvmm
2077 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
2078 - bash: |-
2079 set -e
2080 $(FLOWEY_BIN) e 7 flowey_lib_common::git_checkout 2
2081 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2082 displayName: report cloned repo directories
2083 - bash: $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
2084 displayName: set '-Dwarnings' in .cargo/config.toml
2085 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::download_gh_release 0
2086 displayName: create gh-release-download cache dir
2087 - bash: |-
2088 set -e
2089 $(FLOWEY_BIN) e 7 flowey_lib_common::cache 4
2090 $FLOWEY_BIN v 7 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar4
2091 $FLOWEY_BIN v 7 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar5
2092 displayName: Pre-processing cache vars
2093 - task: Cache@2
2094 inputs:
2095 key: $(floweyvar5)
2096 path: $(floweyvar4)
2097 cacheHitVar: FLOWEY_CACHE_HITVAR
2098 displayName: 'Restore cache: gh-release-download'
2099 - bash: |-
2100 set -e
2101 $FLOWEY_BIN v 7 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
2102 $(FLOWEY_CACHE_HITVAR)
2103 EOF
2104 $(FLOWEY_BIN) e 7 flowey_lib_common::cache 6
2105 displayName: map ADO hitvar to flowey
2106 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::download_gh_release 1
2107 displayName: download artifacts from github releases
2108 - bash: |-
2109 set -e
2110 $(FLOWEY_BIN) e 7 flowey_lib_common::resolve_protoc 0
2111 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::cfg_openvmm_magicpath 0
2112 displayName: unpack protoc
2113 - bash: |-
2114 set -e
2115 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
2116 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 3
2117 displayName: symlink protoc
2118 - bash: |-
2119 set -e
2120 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 3
2121 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 5
2122 displayName: cargo build openvmm
2123 - bash: |-
2124 set -e
2125 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 1
2126 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 6
2127 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_openvmm 0
2128 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 0
2129 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 4
2130 displayName: split debug symbols
2131 - bash: |-
2132 set -e
2133 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 4
2134 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 7
2135 displayName: cargo build openvmm_vhost
2136 - bash: |-
2137 set -e
2138 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 2
2139 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 8
2140 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_openvmm_vhost 0
2141 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 1
2142 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 7
2143 displayName: split debug symbols
2144 - bash: |-
2145 set -e
2146 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 8
2147 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 16
2148 displayName: cargo build vmgstool
2149 - bash: |-
2150 set -e
2151 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 5
2152 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 17
2153 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_vmgstool 0
2154 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 2
2155 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 6
2156 displayName: split debug symbols
2157 - bash: |-
2158 set -e
2159 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 7
2160 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 15
2161 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 0
2162 displayName: cargo build vmgs_lib
2163 - bash: |-
2164 set -e
2165 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 1
2166 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_and_test_vmgs_lib 2
2167 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 3
2168 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 8
2169 displayName: test vmgs_lib
2170 - bash: |-
2171 set -e
2172 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 1
2173 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 1
2174 displayName: cargo build igvmfilegen
2175 - bash: |-
2176 set -e
2177 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 6
2178 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 2
2179 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_igvmfilegen 0
2180 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 4
2181 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 2
2182 displayName: split debug symbols
2183 - bash: |-
2184 set -e
2185 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 2
2186 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 3
2187 displayName: cargo build ohcldiag-dev
2188 - bash: |-
2189 set -e
2190 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 0
2191 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 4
2192 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_ohcldiag_dev 0
2193 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 5
2194 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 9
2195 displayName: split debug symbols
2196 - bash: |-
2197 set -e
2198 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 0
2199 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 0
2200 displayName: cargo build guest_test_uefi
2201 - bash: |-
2202 set -e
2203 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_guest_test_uefi 0
2204 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 6
2205 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 0
2206 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 9
2207 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 10
2208 displayName: build guest_test_uefi.img
2209 - bash: |-
2210 set -e
2211 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 5
2212 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 11
2213 displayName: cargo build simple_tmk
2214 - bash: |-
2215 set -e
2216 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 3
2217 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 12
2218 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_tmks 0
2219 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 7
2220 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 5
2221 displayName: split debug symbols
2222 - bash: |-
2223 set -e
2224 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_build 6
2225 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 13
2226 displayName: cargo build tpm_guest_tests
2227 - bash: |-
2228 set -e
2229 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_split_debug_info 4
2230 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::run_cargo_build 14
2231 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_tpm_guest_tests 0
2232 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 8
2233 displayName: split debug symbols
2234 - bash: |-
2235 set -e
2236 $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 0
2237 $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 1
2238 $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 2
2239 $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 3
2240 displayName: create cargo-nextest cache dir
2241 - bash: |-
2242 set -e
2243 $(FLOWEY_BIN) e 7 flowey_lib_common::cache 0
2244 $FLOWEY_BIN v 7 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar2
2245 $FLOWEY_BIN v 7 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar3
2246 displayName: Pre-processing cache vars
2247 - task: Cache@2
2248 inputs:
2249 key: $(floweyvar3)
2250 path: $(floweyvar2)
2251 cacheHitVar: FLOWEY_CACHE_HITVAR
2252 displayName: 'Restore cache: cargo-nextest'
2253 - bash: |-
2254 set -e
2255 $FLOWEY_BIN v 7 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
2256 $(FLOWEY_CACHE_HITVAR)
2257 EOF
2258 $(FLOWEY_BIN) e 7 flowey_lib_common::cache 2
2259 displayName: map ADO hitvar to flowey
2260 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 4
2261 displayName: downloading cargo-nextest
2262 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::install_rust 2
2263 displayName: report $CARGO_HOME
2264 - bash: |-
2265 set -e
2266 $(FLOWEY_BIN) e 7 flowey_lib_common::install_cargo_nextest 0
2267 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::init_cross_build 1
2268 displayName: installing cargo-nextest
2269 - bash: |-
2270 set -e
2271 $(FLOWEY_BIN) e 7 flowey_lib_common::run_cargo_nextest_archive 0
2272 $(FLOWEY_BIN) e 7 flowey_lib_hvlite::build_nextest_vmm_tests 0
2273 $(FLOWEY_BIN) e 7 flowey_core::pipeline::artifact::publish 9
2274 displayName: build + archive 'vmm_tests' nextests
2275 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::cache 3
2276 displayName: 'validate cache entry: cargo-nextest'
2277 - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::cache 7
2278 displayName: 'validate cache entry: gh-release-download'
2279 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-guest_test_uefi
2280 displayName: πŸŒΌπŸ“¦ Publish x64-guest_test_uefi
2281 artifact: x64-guest_test_uefi
2282 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-igvmfilegen
2283 displayName: πŸŒΌπŸ“¦ Publish x64-linux-igvmfilegen
2284 artifact: x64-linux-igvmfilegen
2285 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-ohcldiag-dev
2286 displayName: πŸŒΌπŸ“¦ Publish x64-linux-ohcldiag-dev
2287 artifact: x64-linux-ohcldiag-dev
2288 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-openvmm
2289 displayName: πŸŒΌπŸ“¦ Publish x64-linux-openvmm
2290 artifact: x64-linux-openvmm
2291 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-openvmm_vhost
2292 displayName: πŸŒΌπŸ“¦ Publish x64-linux-openvmm_vhost
2293 artifact: x64-linux-openvmm_vhost
2294 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-tpm_guest_tests
2295 displayName: πŸŒΌπŸ“¦ Publish x64-linux-tpm_guest_tests
2296 artifact: x64-linux-tpm_guest_tests
2297 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmgs_lib
2298 displayName: πŸŒΌπŸ“¦ Publish x64-linux-vmgs_lib
2299 artifact: x64-linux-vmgs_lib
2300 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmgstool
2301 displayName: πŸŒΌπŸ“¦ Publish x64-linux-vmgstool
2302 artifact: x64-linux-vmgstool
2303 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmm-tests-archive
2304 displayName: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive
2305 artifact: x64-linux-vmm-tests-archive
2306 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-tmks
2307 displayName: πŸŒΌπŸ“¦ Publish x64-tmks
2308 artifact: x64-tmks
2309- job: job6
2310 displayName: build artifacts [aarch64-linux]
2311 pool:
2312 demands:
2313 - ImageOverride -equals ubuntu2404-amd64-256gb
2314 name: openvmm-ado-intel-centralus
2315 dependsOn:
2316 - job0
2317 condition: and(succeeded(), not(canceled()))
2318 variables:
2319 - name: FLOWEY_TEMP_DIR
2320 value: $(Build.StagingDirectory)/.flowey-internal
2321 steps:
2322 - task: DownloadPipelineArtifact@2
2323 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
2324 inputs:
2325 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
2326 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
2327 - bash: |
2328 set -e
2329 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
2330 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2331 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
2332
2333 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
2334 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
2335 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
2336 displayName: Set flowey path
2337 - bash: |
2338 set -e
2339 echo '"debug"' | $FLOWEY_BIN v 6 'FLOWEY_LOG' update
2340 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 6 '_internal_WORKING_DIR' --is-raw-string update
2341
2342 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 6 'verbose' update
2343 ${{ parameters.verbose }}
2344 EOF
2345 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-guest_test_uefi"
2346 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-guest_test_uefi" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-guest_test_uefi' --is-raw-string update
2347 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-igvmfilegen"
2348 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-igvmfilegen" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-igvmfilegen' --is-raw-string update
2349 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-ohcldiag-dev"
2350 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-ohcldiag-dev" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update
2351 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-openvmm"
2352 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-openvmm" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-openvmm' --is-raw-string update
2353 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-openvmm_vhost"
2354 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-openvmm_vhost" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-openvmm_vhost' --is-raw-string update
2355 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-tpm_guest_tests"
2356 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-tpm_guest_tests" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-tpm_guest_tests' --is-raw-string update
2357 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-vmgs_lib"
2358 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmgs_lib" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-vmgs_lib' --is-raw-string update
2359 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-vmgstool"
2360 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmgstool" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update
2361 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-tmks"
2362 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-tmks" | $FLOWEY_BIN v 6 'artifact_publish_from_aarch64-tmks' --is-raw-string update
2363 displayName: πŸŒΌπŸ›« Initialize job
2364 - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::install_rust 0
2365 displayName: install Rust
2366 - bash: |-
2367 set -e
2368 $(FLOWEY_BIN) e 6 flowey_lib_common::install_rust 1
2369 $(FLOWEY_BIN) e 6 flowey_lib_common::cfg_cargo_common_flags 0
2370 displayName: detect active toolchain
2371 - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::install_dist_pkg 0
2372 displayName: checking if packages need to be installed
2373 - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::install_dist_pkg 1
2374 displayName: installing packages
2375 - bash: |-
2376 set -e
2377 $(FLOWEY_BIN) e 6 flowey_lib_common::git_checkout 0
2378 $FLOWEY_BIN v 6 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar1
2379 $FLOWEY_BIN v 6 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
2380 displayName: check if openvmm needs to be cloned
2381 - checkout: self
2382 path: repo0
2383 fetchTags: false
2384 fetchDepth: 1
2385 persistCredentials: $(floweyvar1)
2386 submodules: recursive
2387 displayName: checkout repo openvmm
2388 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
2389 - bash: |-
2390 set -e
2391 $(FLOWEY_BIN) e 6 flowey_lib_common::git_checkout 2
2392 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2393 displayName: report cloned repo directories
2394 - bash: $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
2395 displayName: set '-Dwarnings' in .cargo/config.toml
2396 - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::download_gh_release 0
2397 displayName: create gh-release-download cache dir
2398 - bash: |-
2399 set -e
2400 $(FLOWEY_BIN) e 6 flowey_lib_common::cache 0
2401 $FLOWEY_BIN v 6 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar2
2402 $FLOWEY_BIN v 6 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar3
2403 displayName: Pre-processing cache vars
2404 - task: Cache@2
2405 inputs:
2406 key: $(floweyvar3)
2407 path: $(floweyvar2)
2408 cacheHitVar: FLOWEY_CACHE_HITVAR
2409 displayName: 'Restore cache: gh-release-download'
2410 - bash: |-
2411 set -e
2412 $FLOWEY_BIN v 6 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
2413 $(FLOWEY_CACHE_HITVAR)
2414 EOF
2415 $(FLOWEY_BIN) e 6 flowey_lib_common::cache 2
2416 displayName: map ADO hitvar to flowey
2417 - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::download_gh_release 1
2418 displayName: download artifacts from github releases
2419 - bash: |-
2420 set -e
2421 $(FLOWEY_BIN) e 6 flowey_lib_common::resolve_protoc 0
2422 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::cfg_openvmm_magicpath 0
2423 displayName: unpack protoc
2424 - bash: |-
2425 set -e
2426 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
2427 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 2
2428 displayName: symlink protoc
2429 - bash: |-
2430 set -e
2431 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 3
2432 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 5
2433 displayName: cargo build openvmm
2434 - bash: |-
2435 set -e
2436 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 1
2437 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 6
2438 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_openvmm 0
2439 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 0
2440 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 3
2441 displayName: split debug symbols
2442 - bash: |-
2443 set -e
2444 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 4
2445 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 7
2446 displayName: cargo build openvmm_vhost
2447 - bash: |-
2448 set -e
2449 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 2
2450 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 8
2451 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_openvmm_vhost 0
2452 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 1
2453 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 6
2454 displayName: split debug symbols
2455 - bash: |-
2456 set -e
2457 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 8
2458 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 16
2459 displayName: cargo build vmgstool
2460 - bash: |-
2461 set -e
2462 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 5
2463 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 17
2464 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_vmgstool 0
2465 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 2
2466 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 5
2467 displayName: split debug symbols
2468 - bash: |-
2469 set -e
2470 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 7
2471 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 15
2472 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 0
2473 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1
2474 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 3
2475 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 7
2476 displayName: cargo build vmgs_lib
2477 - bash: |-
2478 set -e
2479 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 1
2480 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 1
2481 displayName: cargo build igvmfilegen
2482 - bash: |-
2483 set -e
2484 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 6
2485 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 2
2486 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_igvmfilegen 0
2487 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 4
2488 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 1
2489 displayName: split debug symbols
2490 - bash: |-
2491 set -e
2492 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 2
2493 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 3
2494 displayName: cargo build ohcldiag-dev
2495 - bash: |-
2496 set -e
2497 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 0
2498 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 4
2499 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_ohcldiag_dev 0
2500 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 5
2501 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 8
2502 displayName: split debug symbols
2503 - bash: |-
2504 set -e
2505 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 0
2506 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 0
2507 displayName: cargo build guest_test_uefi
2508 - bash: |-
2509 set -e
2510 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_guest_test_uefi 0
2511 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 6
2512 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 0
2513 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 9
2514 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 10
2515 displayName: build guest_test_uefi.img
2516 - bash: |-
2517 set -e
2518 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 5
2519 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 11
2520 displayName: cargo build simple_tmk
2521 - bash: |-
2522 set -e
2523 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 3
2524 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 12
2525 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_tmks 0
2526 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 7
2527 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 4
2528 displayName: split debug symbols
2529 - bash: |-
2530 set -e
2531 $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 6
2532 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 13
2533 displayName: cargo build tpm_guest_tests
2534 - bash: |-
2535 set -e
2536 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_split_debug_info 4
2537 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 14
2538 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_tpm_guest_tests 0
2539 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 8
2540 displayName: split debug symbols
2541 - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::cache 3
2542 displayName: 'validate cache entry: gh-release-download'
2543 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-guest_test_uefi
2544 displayName: πŸŒΌπŸ“¦ Publish aarch64-guest_test_uefi
2545 artifact: aarch64-guest_test_uefi
2546 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-igvmfilegen
2547 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-igvmfilegen
2548 artifact: aarch64-linux-igvmfilegen
2549 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-ohcldiag-dev
2550 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev
2551 artifact: aarch64-linux-ohcldiag-dev
2552 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-openvmm
2553 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-openvmm
2554 artifact: aarch64-linux-openvmm
2555 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-openvmm_vhost
2556 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-openvmm_vhost
2557 artifact: aarch64-linux-openvmm_vhost
2558 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-tpm_guest_tests
2559 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-tpm_guest_tests
2560 artifact: aarch64-linux-tpm_guest_tests
2561 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmgs_lib
2562 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-vmgs_lib
2563 artifact: aarch64-linux-vmgs_lib
2564 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmgstool
2565 displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-vmgstool
2566 artifact: aarch64-linux-vmgstool
2567 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-tmks
2568 displayName: πŸŒΌπŸ“¦ Publish aarch64-tmks
2569 artifact: aarch64-tmks
2570- job: job5
2571 displayName: build artifacts (for VMM tests) [x64-windows]
2572 pool:
2573 demands:
2574 - ImageOverride -equals win-amd64
2575 name: openvmm-ado-intel-centralus
2576 dependsOn:
2577 - job0
2578 condition: and(succeeded(), not(canceled()))
2579 variables:
2580 - name: FLOWEY_TEMP_DIR
2581 value: $(Build.StagingDirectory)/.flowey-internal
2582 steps:
2583 - bash: |
2584 set -x
2585 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
2586 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
2587 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
2588 . "$HOME/.cargo/env"
2589 echo '##vso[task.prependpath]$(HOME)/.cargo/bin'
2590 condition: eq(variables['Agent.OS'], 'Linux')
2591 displayName: rustup (Linux)
2592 - bash: |
2593 set -x
2594 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
2595 ./rustup-init.exe -y --default-toolchain=1.95.0
2596 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin'
2597 condition: eq(variables['Agent.OS'], 'Windows_NT')
2598 displayName: rustup (Windows X64)
2599 - bash: |
2600 set -x
2601 rustup show
2602 displayName: Verify rustup installation
2603 - checkout: self
2604 fetchTags: false
2605 fetchDepth: 1
2606 path: flowey_bootstrap
2607 - bash: CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
2608 workingDirectory: ../flowey_bootstrap
2609 displayName: Build flowey
2610 - bash: |
2611 mkdir ./flowey_bootstrap_temp
2612 mv ./ci-flowey/openvmm-pr.yaml ./flowey_bootstrap_temp/pipeline.yaml
2613 mv ./ci-flowey/openvmm-pr.json ./flowey_bootstrap_temp/pipeline.json
2614 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe ./flowey_bootstrap_temp/flowey.exe
2615 workingDirectory: ../flowey_bootstrap
2616 displayName: Stage flowey artifact
2617 - task: CopyFiles@2
2618 displayName: Copy flowey artifact
2619 inputs:
2620 SourceFolder: ../flowey_bootstrap/flowey_bootstrap_temp
2621 TargetFolder: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
2622 - bash: rm -rf ./flowey_bootstrap_temp
2623 workingDirectory: ../flowey_bootstrap
2624 displayName: Cleanup staged flowey artifact
2625 - bash: |
2626 set -e
2627 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
2628 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2629 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
2630
2631 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
2632 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
2633 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
2634 displayName: Set flowey path
2635 - bash: |-
2636 ESCAPED_AGENT_TEMPDIR=$(
2637 cat <<'EOF' | sed 's/\\/\\\\/g'
2638 $(FLOWEY_TEMP_DIR)
2639 EOF
2640 )
2641 $(FLOWEY_BIN) pipeline ado --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out ci-flowey/openvmm-pr.yaml ci checkin-gates --config=pr
2642 displayName: πŸŒΌπŸ”Ž Self-check YAML
2643 - bash: |
2644 set -e
2645 echo '"debug"' | $FLOWEY_BIN v 5 'FLOWEY_LOG' update
2646 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 5 '_internal_WORKING_DIR' --is-raw-string update
2647
2648 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 5 'verbose' update
2649 ${{ parameters.verbose }}
2650 EOF
2651 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-openvmm"
2652 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-openvmm" | $FLOWEY_BIN v 5 'artifact_publish_from_x64-windows-openvmm' --is-raw-string update
2653 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-pipette"
2654 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-pipette" | $FLOWEY_BIN v 5 'artifact_publish_from_x64-windows-pipette' --is-raw-string update
2655 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-prep_steps"
2656 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-prep_steps" | $FLOWEY_BIN v 5 'artifact_publish_from_x64-windows-prep_steps' --is-raw-string update
2657 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-test_igvm_agent_rpc_server"
2658 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-test_igvm_agent_rpc_server" | $FLOWEY_BIN v 5 'artifact_publish_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
2659 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-tmk_vmm"
2660 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-tmk_vmm" | $FLOWEY_BIN v 5 'artifact_publish_from_x64-windows-tmk_vmm' --is-raw-string update
2661 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-tpm_guest_tests"
2662 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-tpm_guest_tests" | $FLOWEY_BIN v 5 'artifact_publish_from_x64-windows-tpm_guest_tests' --is-raw-string update
2663 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-vmgstool"
2664 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmgstool" | $FLOWEY_BIN v 5 'artifact_publish_from_x64-windows-vmgstool' --is-raw-string update
2665 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-vmm-tests-archive"
2666 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmm-tests-archive" | $FLOWEY_BIN v 5 'artifact_publish_from_x64-windows-vmm-tests-archive' --is-raw-string update
2667 displayName: πŸŒΌπŸ›« Initialize job
2668 - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::install_rust 0
2669 displayName: install Rust
2670 - bash: |-
2671 set -e
2672 $(FLOWEY_BIN) e 5 flowey_lib_common::install_rust 1
2673 $(FLOWEY_BIN) e 5 flowey_lib_common::cfg_cargo_common_flags 0
2674 displayName: detect active toolchain
2675 - bash: |-
2676 set -e
2677 $(FLOWEY_BIN) e 5 flowey_lib_common::git_checkout 0
2678 $FLOWEY_BIN v 5 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar1
2679 $FLOWEY_BIN v 5 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
2680 displayName: check if openvmm needs to be cloned
2681 - checkout: self
2682 path: repo0
2683 fetchTags: false
2684 fetchDepth: 1
2685 persistCredentials: $(floweyvar1)
2686 submodules: recursive
2687 displayName: checkout repo openvmm
2688 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
2689 - bash: |-
2690 set -e
2691 $(FLOWEY_BIN) e 5 flowey_lib_common::git_checkout 2
2692 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2693 displayName: report cloned repo directories
2694 - bash: $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
2695 displayName: set '-Dwarnings' in .cargo/config.toml
2696 - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::download_gh_release 0
2697 displayName: create gh-release-download cache dir
2698 - bash: |-
2699 set -e
2700 $(FLOWEY_BIN) e 5 flowey_lib_common::cache 4
2701 $FLOWEY_BIN v 5 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar4
2702 $FLOWEY_BIN v 5 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar5
2703 displayName: Pre-processing cache vars
2704 - task: Cache@2
2705 inputs:
2706 key: $(floweyvar5)
2707 path: $(floweyvar4)
2708 cacheHitVar: FLOWEY_CACHE_HITVAR
2709 displayName: 'Restore cache: gh-release-download'
2710 - bash: |-
2711 set -e
2712 $FLOWEY_BIN v 5 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
2713 $(FLOWEY_CACHE_HITVAR)
2714 EOF
2715 $(FLOWEY_BIN) e 5 flowey_lib_common::cache 6
2716 displayName: map ADO hitvar to flowey
2717 - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::download_gh_release 1
2718 displayName: download artifacts from github releases
2719 - bash: |-
2720 set -e
2721 $(FLOWEY_BIN) e 5 flowey_lib_common::resolve_protoc 0
2722 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::cfg_openvmm_magicpath 0
2723 displayName: unpack protoc
2724 - bash: |-
2725 set -e
2726 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
2727 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_cross_build 5
2728 displayName: symlink protoc
2729 - bash: |-
2730 set -e
2731 $(FLOWEY_BIN) e 5 flowey_lib_common::run_cargo_build 0
2732 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 0
2733 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::build_openvmm 0
2734 $(FLOWEY_BIN) e 5 flowey_core::pipeline::artifact::publish 0
2735 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_cross_build 6
2736 displayName: cargo build openvmm
2737 - bash: |-
2738 set -e
2739 $(FLOWEY_BIN) e 5 flowey_lib_common::run_cargo_build 1
2740 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 1
2741 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::build_pipette 0
2742 $(FLOWEY_BIN) e 5 flowey_core::pipeline::artifact::publish 1
2743 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_cross_build 2
2744 displayName: cargo build pipette
2745 - bash: |-
2746 set -e
2747 $(FLOWEY_BIN) e 5 flowey_lib_common::run_cargo_build 4
2748 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 6
2749 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::build_tmk_vmm 0
2750 $(FLOWEY_BIN) e 5 flowey_core::pipeline::artifact::publish 2
2751 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_cross_build 7
2752 displayName: cargo build tmk_vmm
2753 - bash: |-
2754 set -e
2755 $(FLOWEY_BIN) e 5 flowey_lib_common::run_cargo_build 2
2756 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 2
2757 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::build_prep_steps 0
2758 $(FLOWEY_BIN) e 5 flowey_core::pipeline::artifact::publish 3
2759 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_cross_build 4
2760 displayName: cargo build prep_steps
2761 - bash: |-
2762 set -e
2763 $(FLOWEY_BIN) e 5 flowey_lib_common::run_cargo_build 6
2764 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 10
2765 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::build_vmgstool 0
2766 $(FLOWEY_BIN) e 5 flowey_core::pipeline::artifact::publish 4
2767 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_cross_build 3
2768 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 7
2769 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 8
2770 displayName: cargo build vmgstool
2771 - bash: |-
2772 set -e
2773 $(FLOWEY_BIN) e 5 flowey_lib_common::run_cargo_build 5
2774 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 9
2775 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::build_tpm_guest_tests 0
2776 $(FLOWEY_BIN) e 5 flowey_core::pipeline::artifact::publish 5
2777 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_cross_build 1
2778 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 3
2779 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 4
2780 displayName: cargo build tpm_guest_tests
2781 - bash: |-
2782 set -e
2783 $(FLOWEY_BIN) e 5 flowey_lib_common::run_cargo_build 3
2784 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::run_cargo_build 5
2785 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0
2786 $(FLOWEY_BIN) e 5 flowey_core::pipeline::artifact::publish 6
2787 displayName: cargo build test_igvm_agent_rpc_server
2788 - bash: |-
2789 set -e
2790 $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 0
2791 $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 1
2792 $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 2
2793 $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 3
2794 displayName: create cargo-nextest cache dir
2795 - bash: |-
2796 set -e
2797 $(FLOWEY_BIN) e 5 flowey_lib_common::cache 0
2798 $FLOWEY_BIN v 5 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar2
2799 $FLOWEY_BIN v 5 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar3
2800 displayName: Pre-processing cache vars
2801 - task: Cache@2
2802 inputs:
2803 key: $(floweyvar3)
2804 path: $(floweyvar2)
2805 cacheHitVar: FLOWEY_CACHE_HITVAR
2806 displayName: 'Restore cache: cargo-nextest'
2807 - bash: |-
2808 set -e
2809 $FLOWEY_BIN v 5 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
2810 $(FLOWEY_CACHE_HITVAR)
2811 EOF
2812 $(FLOWEY_BIN) e 5 flowey_lib_common::cache 2
2813 displayName: map ADO hitvar to flowey
2814 - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 4
2815 displayName: downloading cargo-nextest
2816 - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::install_rust 2
2817 displayName: report $CARGO_HOME
2818 - bash: |-
2819 set -e
2820 $(FLOWEY_BIN) e 5 flowey_lib_common::install_cargo_nextest 0
2821 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::init_cross_build 0
2822 displayName: installing cargo-nextest
2823 - bash: |-
2824 set -e
2825 $(FLOWEY_BIN) e 5 flowey_lib_common::run_cargo_nextest_archive 0
2826 $(FLOWEY_BIN) e 5 flowey_lib_hvlite::build_nextest_vmm_tests 0
2827 $(FLOWEY_BIN) e 5 flowey_core::pipeline::artifact::publish 7
2828 displayName: build + archive 'vmm_tests' nextests
2829 - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::cache 3
2830 displayName: 'validate cache entry: cargo-nextest'
2831 - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::cache 7
2832 displayName: 'validate cache entry: gh-release-download'
2833 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-openvmm
2834 displayName: πŸŒΌπŸ“¦ Publish x64-windows-openvmm
2835 artifact: x64-windows-openvmm
2836 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-pipette
2837 displayName: πŸŒΌπŸ“¦ Publish x64-windows-pipette
2838 artifact: x64-windows-pipette
2839 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-prep_steps
2840 displayName: πŸŒΌπŸ“¦ Publish x64-windows-prep_steps
2841 artifact: x64-windows-prep_steps
2842 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-test_igvm_agent_rpc_server
2843 displayName: πŸŒΌπŸ“¦ Publish x64-windows-test_igvm_agent_rpc_server
2844 artifact: x64-windows-test_igvm_agent_rpc_server
2845 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-tmk_vmm
2846 displayName: πŸŒΌπŸ“¦ Publish x64-windows-tmk_vmm
2847 artifact: x64-windows-tmk_vmm
2848 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-tpm_guest_tests
2849 displayName: πŸŒΌπŸ“¦ Publish x64-windows-tpm_guest_tests
2850 artifact: x64-windows-tpm_guest_tests
2851 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmgstool
2852 displayName: πŸŒΌπŸ“¦ Publish x64-windows-vmgstool
2853 artifact: x64-windows-vmgstool
2854 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmm-tests-archive
2855 displayName: πŸŒΌπŸ“¦ Publish x64-windows-vmm-tests-archive
2856 artifact: x64-windows-vmm-tests-archive
2857 - bash: rm $(AgentTempDirNormal)/bootstrapped-flowey/job5.json
2858 displayName: 🌼🧼 Redact bootstrap var db
2859 - publish: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
2860 displayName: 🌼πŸ₯Ύ Publish bootstrapped flowey
2861 artifact: _internal-flowey-bootstrap-x86_64-windows-uid-3
2862- job: job15
2863 displayName: run vmm-tests [x64-linux-amd-kvm]
2864 pool:
2865 demands:
2866 - ImageOverride -equals ubuntu2404-amd64-256gb
2867 name: openvmm-ado-intel-centralus
2868 dependsOn:
2869 - job0
2870 - job5
2871 - job7
2872 - job9
2873 condition: and(succeeded(), not(canceled()))
2874 variables:
2875 - name: FLOWEY_TEMP_DIR
2876 value: $(Build.StagingDirectory)/.flowey-internal
2877 steps:
2878 - task: DownloadPipelineArtifact@2
2879 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
2880 inputs:
2881 artifact: _internal-flowey-bootstrap-x86_64-linux-uid-1
2882 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
2883 - task: DownloadPipelineArtifact@2
2884 displayName: πŸŒΌπŸ“¦ Download x64-guest_test_uefi
2885 inputs:
2886 artifact: x64-guest_test_uefi
2887 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-guest_test_uefi
2888 - task: DownloadPipelineArtifact@2
2889 displayName: πŸŒΌπŸ“¦ Download x64-linux-musl-pipette
2890 inputs:
2891 artifact: x64-linux-musl-pipette
2892 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-pipette
2893 - task: DownloadPipelineArtifact@2
2894 displayName: πŸŒΌπŸ“¦ Download x64-linux-musl-tmk_vmm
2895 inputs:
2896 artifact: x64-linux-musl-tmk_vmm
2897 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-tmk_vmm
2898 - task: DownloadPipelineArtifact@2
2899 displayName: πŸŒΌπŸ“¦ Download x64-linux-openvmm
2900 inputs:
2901 artifact: x64-linux-openvmm
2902 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-openvmm
2903 - task: DownloadPipelineArtifact@2
2904 displayName: πŸŒΌπŸ“¦ Download x64-linux-openvmm_vhost
2905 inputs:
2906 artifact: x64-linux-openvmm_vhost
2907 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-openvmm_vhost
2908 - task: DownloadPipelineArtifact@2
2909 displayName: πŸŒΌπŸ“¦ Download x64-linux-vmm-tests-archive
2910 inputs:
2911 artifact: x64-linux-vmm-tests-archive
2912 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-vmm-tests-archive
2913 - task: DownloadPipelineArtifact@2
2914 displayName: πŸŒΌπŸ“¦ Download x64-tmks
2915 inputs:
2916 artifact: x64-tmks
2917 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-tmks
2918 - task: DownloadPipelineArtifact@2
2919 displayName: πŸŒΌπŸ“¦ Download x64-windows-pipette
2920 inputs:
2921 artifact: x64-windows-pipette
2922 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-pipette
2923 - bash: |
2924 set -e
2925 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
2926 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
2927 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
2928
2929 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
2930 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey"
2931 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
2932 displayName: Set flowey path
2933 - bash: |
2934 set -e
2935 echo '"debug"' | $FLOWEY_BIN v 15 'FLOWEY_LOG' update
2936 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 15 '_internal_WORKING_DIR' --is-raw-string update
2937
2938 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 15 'verbose' update
2939 ${{ parameters.verbose }}
2940 EOF
2941 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-guest_test_uefi" | $FLOWEY_BIN v 15 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
2942 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-pipette" | $FLOWEY_BIN v 15 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
2943 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-tmk_vmm" | $FLOWEY_BIN v 15 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
2944 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-openvmm" | $FLOWEY_BIN v 15 'artifact_use_from_x64-linux-openvmm' --is-raw-string update
2945 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-openvmm_vhost" | $FLOWEY_BIN v 15 'artifact_use_from_x64-linux-openvmm_vhost' --is-raw-string update
2946 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-vmm-tests-archive" | $FLOWEY_BIN v 15 'artifact_use_from_x64-linux-vmm-tests-archive' --is-raw-string update
2947 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-tmks" | $FLOWEY_BIN v 15 'artifact_use_from_x64-tmks' --is-raw-string update
2948 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-pipette" | $FLOWEY_BIN v 15 'artifact_use_from_x64-windows-pipette' --is-raw-string update
2949 displayName: πŸŒΌπŸ›« Initialize job
2950 - bash: $(FLOWEY_BIN) e 15 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
2951 displayName: ensure hypervisor device is accessible
2952 - bash: |-
2953 set -e
2954 $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 0
2955 $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 1
2956 $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 2
2957 $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 3
2958 displayName: create cargo-nextest cache dir
2959 - bash: |-
2960 set -e
2961 $(FLOWEY_BIN) e 15 flowey_lib_common::cache 0
2962 $FLOWEY_BIN v 15 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar3
2963 $FLOWEY_BIN v 15 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar4
2964 displayName: Pre-processing cache vars
2965 - task: Cache@2
2966 inputs:
2967 key: $(floweyvar4)
2968 path: $(floweyvar3)
2969 cacheHitVar: FLOWEY_CACHE_HITVAR
2970 displayName: 'Restore cache: cargo-nextest'
2971 - bash: |-
2972 set -e
2973 $FLOWEY_BIN v 15 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
2974 $(FLOWEY_CACHE_HITVAR)
2975 EOF
2976 $(FLOWEY_BIN) e 15 flowey_lib_common::cache 2
2977 displayName: map ADO hitvar to flowey
2978 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 4
2979 displayName: downloading cargo-nextest
2980 - bash: |-
2981 set -e
2982 $(FLOWEY_BIN) e 15 flowey_lib_common::git_checkout 0
2983 $FLOWEY_BIN v 15 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar2
2984 $FLOWEY_BIN v 15 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
2985 displayName: check if openvmm needs to be cloned
2986 - checkout: self
2987 path: repo0
2988 fetchTags: false
2989 fetchDepth: 1
2990 persistCredentials: $(floweyvar2)
2991 submodules: recursive
2992 displayName: checkout repo openvmm
2993 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
2994 - bash: |-
2995 set -e
2996 $(FLOWEY_BIN) e 15 flowey_lib_common::git_checkout 2
2997 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::git_checkout_openvmm_repo 0
2998 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 0
2999 $(FLOWEY_BIN) e 15 flowey_core::pipeline::artifact::resolve 3
3000 $(FLOWEY_BIN) e 15 flowey_core::pipeline::artifact::resolve 4
3001 $(FLOWEY_BIN) e 15 flowey_core::pipeline::artifact::resolve 7
3002 $(FLOWEY_BIN) e 15 flowey_core::pipeline::artifact::resolve 1
3003 $(FLOWEY_BIN) e 15 flowey_core::pipeline::artifact::resolve 0
3004 $(FLOWEY_BIN) e 15 flowey_core::pipeline::artifact::resolve 2
3005 $(FLOWEY_BIN) e 15 flowey_core::pipeline::artifact::resolve 6
3006 displayName: report cloned repo directories
3007 - bash: $(FLOWEY_BIN) e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
3008 displayName: creating new test content dir
3009 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::install_dist_pkg 0
3010 displayName: checking if packages need to be installed
3011 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::install_dist_pkg 1
3012 displayName: installing packages
3013 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::download_gh_release 0
3014 displayName: create gh-release-download cache dir
3015 - bash: |-
3016 set -e
3017 $(FLOWEY_BIN) e 15 flowey_lib_common::cache 4
3018 $FLOWEY_BIN v 15 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar5
3019 $FLOWEY_BIN v 15 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar6
3020 displayName: Pre-processing cache vars
3021 - task: Cache@2
3022 inputs:
3023 key: $(floweyvar6)
3024 path: $(floweyvar5)
3025 cacheHitVar: FLOWEY_CACHE_HITVAR
3026 displayName: 'Restore cache: gh-release-download'
3027 - bash: |-
3028 set -e
3029 $FLOWEY_BIN v 15 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
3030 $(FLOWEY_CACHE_HITVAR)
3031 EOF
3032 $(FLOWEY_BIN) e 15 flowey_lib_common::cache 6
3033 displayName: map ADO hitvar to flowey
3034 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::download_gh_release 1
3035 displayName: download artifacts from github releases
3036 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::download_azcopy 0
3037 displayName: extract azcopy from archive
3038 - bash: $(FLOWEY_BIN) e 15 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
3039 displayName: calculating required VMM tests disk images
3040 - bash: |-
3041 set -e
3042 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
3043 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
3044 displayName: downloading VMM test disk images
3045 - bash: $(FLOWEY_BIN) e 15 flowey_lib_hvlite::resolve_openvmm_deps 0
3046 displayName: unpack openvmm-deps archive
3047 - bash: $(FLOWEY_BIN) e 15 flowey_lib_hvlite::download_uefi_mu_msvm 0
3048 displayName: unpack mu_msvm package (x64)
3049 - bash: |-
3050 set -e
3051 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::init_vmm_tests_env 0
3052 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 1
3053 $(FLOWEY_BIN) e 15 flowey_core::pipeline::artifact::resolve 5
3054 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::test_nextest_vmm_tests_archive 1
3055 displayName: setting up vmm_tests env
3056 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0
3057 displayName: generate nextest command
3058 - bash: $(FLOWEY_BIN) e 15 flowey_lib_hvlite::install_vmm_tests_deps 0
3059 displayName: install vmm tests deps (linux)
3060 - bash: |-
3061 set -e
3062 $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 0
3063 $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 1
3064 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
3065 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 1
3066 $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 0
3067 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 0
3068 $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar1
3069 $FLOWEY_BIN v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
3070 displayName: run 'vmm_tests' nextest tests
3071 - task: PublishTestResults@2
3072 inputs:
3073 testResultsFormat: JUnit
3074 testResultsFiles: $(floweyvar1)
3075 testRunTitle: x64-linux-amd-kvm-vmm-tests
3076 displayName: 'publish test results: x64-linux-amd-kvm-vmm-tests (JUnit XML)'
3077 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
3078 - bash: |-
3079 set -e
3080 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
3081 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 2
3082 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 3
3083 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
3084 displayName: report test results to overall pipeline status
3085 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::cache 3
3086 displayName: 'validate cache entry: cargo-nextest'
3087 - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::cache 7
3088 displayName: 'validate cache entry: gh-release-download'
3089- job: job17
3090 displayName: run vmm-tests [x64-windows-intel-mi-secure]
3091 pool:
3092 demands:
3093 - ImageOverride -equals win-amd64
3094 name: openvmm-ado-intel-centralus
3095 dependsOn:
3096 - job0
3097 - job16
3098 - job5
3099 - job7
3100 - job9
3101 condition: and(succeeded(), not(canceled()))
3102 variables:
3103 - name: FLOWEY_TEMP_DIR
3104 value: $(Build.StagingDirectory)/.flowey-internal
3105 steps:
3106 - task: DownloadPipelineArtifact@2
3107 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
3108 inputs:
3109 artifact: _internal-flowey-bootstrap-x86_64-windows-uid-3
3110 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
3111 - task: DownloadPipelineArtifact@2
3112 displayName: πŸŒΌπŸ“¦ Download x64-guest_test_uefi
3113 inputs:
3114 artifact: x64-guest_test_uefi
3115 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-guest_test_uefi
3116 - task: DownloadPipelineArtifact@2
3117 displayName: πŸŒΌπŸ“¦ Download x64-linux-musl-pipette
3118 inputs:
3119 artifact: x64-linux-musl-pipette
3120 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-pipette
3121 - task: DownloadPipelineArtifact@2
3122 displayName: πŸŒΌπŸ“¦ Download x64-linux-musl-tmk_vmm
3123 inputs:
3124 artifact: x64-linux-musl-tmk_vmm
3125 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-tmk_vmm
3126 - task: DownloadPipelineArtifact@2
3127 displayName: πŸŒΌπŸ“¦ Download x64-linux-tpm_guest_tests
3128 inputs:
3129 artifact: x64-linux-tpm_guest_tests
3130 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-tpm_guest_tests
3131 - task: DownloadPipelineArtifact@2
3132 displayName: πŸŒΌπŸ“¦ Download x64-mi-secure-openhcl-igvm
3133 inputs:
3134 artifact: x64-mi-secure-openhcl-igvm
3135 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-mi-secure-openhcl-igvm
3136 - task: DownloadPipelineArtifact@2
3137 displayName: πŸŒΌπŸ“¦ Download x64-tmks
3138 inputs:
3139 artifact: x64-tmks
3140 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-tmks
3141 - task: DownloadPipelineArtifact@2
3142 displayName: πŸŒΌπŸ“¦ Download x64-windows-openvmm
3143 inputs:
3144 artifact: x64-windows-openvmm
3145 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-openvmm
3146 - task: DownloadPipelineArtifact@2
3147 displayName: πŸŒΌπŸ“¦ Download x64-windows-pipette
3148 inputs:
3149 artifact: x64-windows-pipette
3150 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-pipette
3151 - task: DownloadPipelineArtifact@2
3152 displayName: πŸŒΌπŸ“¦ Download x64-windows-prep_steps
3153 inputs:
3154 artifact: x64-windows-prep_steps
3155 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-prep_steps
3156 - task: DownloadPipelineArtifact@2
3157 displayName: πŸŒΌπŸ“¦ Download x64-windows-test_igvm_agent_rpc_server
3158 inputs:
3159 artifact: x64-windows-test_igvm_agent_rpc_server
3160 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-test_igvm_agent_rpc_server
3161 - task: DownloadPipelineArtifact@2
3162 displayName: πŸŒΌπŸ“¦ Download x64-windows-tmk_vmm
3163 inputs:
3164 artifact: x64-windows-tmk_vmm
3165 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tmk_vmm
3166 - task: DownloadPipelineArtifact@2
3167 displayName: πŸŒΌπŸ“¦ Download x64-windows-tpm_guest_tests
3168 inputs:
3169 artifact: x64-windows-tpm_guest_tests
3170 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tpm_guest_tests
3171 - task: DownloadPipelineArtifact@2
3172 displayName: πŸŒΌπŸ“¦ Download x64-windows-vmgstool
3173 inputs:
3174 artifact: x64-windows-vmgstool
3175 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool
3176 - task: DownloadPipelineArtifact@2
3177 displayName: πŸŒΌπŸ“¦ Download x64-windows-vmm-tests-archive
3178 inputs:
3179 artifact: x64-windows-vmm-tests-archive
3180 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive
3181 - bash: |
3182 set -e
3183 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
3184 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3185 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
3186
3187 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
3188 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
3189 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
3190 displayName: Set flowey path
3191 - bash: |
3192 set -e
3193 echo '"debug"' | $FLOWEY_BIN v 17 'FLOWEY_LOG' update
3194 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 17 '_internal_WORKING_DIR' --is-raw-string update
3195
3196 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 17 'verbose' update
3197 ${{ parameters.verbose }}
3198 EOF
3199 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-guest_test_uefi" | $FLOWEY_BIN v 17 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
3200 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-pipette" | $FLOWEY_BIN v 17 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
3201 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-tmk_vmm" | $FLOWEY_BIN v 17 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
3202 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-tpm_guest_tests" | $FLOWEY_BIN v 17 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
3203 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-mi-secure-openhcl-igvm" | $FLOWEY_BIN v 17 'artifact_use_from_x64-mi-secure-openhcl-igvm' --is-raw-string update
3204 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-tmks" | $FLOWEY_BIN v 17 'artifact_use_from_x64-tmks' --is-raw-string update
3205 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-openvmm" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
3206 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-pipette" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-pipette' --is-raw-string update
3207 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-prep_steps" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
3208 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-test_igvm_agent_rpc_server" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
3209 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tmk_vmm" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
3210 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tpm_guest_tests" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
3211 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
3212 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
3213 displayName: πŸŒΌπŸ›« Initialize job
3214 - bash: |-
3215 set -e
3216 $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 0
3217 $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 1
3218 $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 2
3219 $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 3
3220 displayName: create cargo-nextest cache dir
3221 - bash: |-
3222 set -e
3223 $(FLOWEY_BIN) e 17 flowey_lib_common::cache 0
3224 $FLOWEY_BIN v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar3
3225 $FLOWEY_BIN v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar4
3226 displayName: Pre-processing cache vars
3227 - task: Cache@2
3228 inputs:
3229 key: $(floweyvar4)
3230 path: $(floweyvar3)
3231 cacheHitVar: FLOWEY_CACHE_HITVAR
3232 displayName: 'Restore cache: cargo-nextest'
3233 - bash: |-
3234 set -e
3235 $FLOWEY_BIN v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
3236 $(FLOWEY_CACHE_HITVAR)
3237 EOF
3238 $(FLOWEY_BIN) e 17 flowey_lib_common::cache 2
3239 displayName: map ADO hitvar to flowey
3240 - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 4
3241 displayName: downloading cargo-nextest
3242 - bash: |-
3243 set -e
3244 $(FLOWEY_BIN) e 17 flowey_lib_common::git_checkout 0
3245 $FLOWEY_BIN v 17 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar2
3246 $FLOWEY_BIN v 17 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
3247 displayName: check if openvmm needs to be cloned
3248 - checkout: self
3249 path: repo0
3250 fetchTags: false
3251 fetchDepth: 1
3252 persistCredentials: $(floweyvar2)
3253 submodules: recursive
3254 displayName: checkout repo openvmm
3255 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
3256 - bash: |-
3257 set -e
3258 $(FLOWEY_BIN) e 17 flowey_lib_common::git_checkout 2
3259 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3260 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::run_cargo_nextest_run 0
3261 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 5
3262 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 6
3263 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 1
3264 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 0
3265 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 9
3266 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 2
3267 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 4
3268 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 11
3269 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 10
3270 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 3
3271 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 8
3272 displayName: report cloned repo directories
3273 - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
3274 displayName: creating new test content dir
3275 - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
3276 displayName: resolve OpenHCL igvm artifact
3277 - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_gh_release 0
3278 displayName: create gh-release-download cache dir
3279 - bash: |-
3280 set -e
3281 $(FLOWEY_BIN) e 17 flowey_lib_common::cache 4
3282 $FLOWEY_BIN v 17 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar5
3283 $FLOWEY_BIN v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar6
3284 displayName: Pre-processing cache vars
3285 - task: Cache@2
3286 inputs:
3287 key: $(floweyvar6)
3288 path: $(floweyvar5)
3289 cacheHitVar: FLOWEY_CACHE_HITVAR
3290 displayName: 'Restore cache: gh-release-download'
3291 - bash: |-
3292 set -e
3293 $FLOWEY_BIN v 17 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
3294 $(FLOWEY_CACHE_HITVAR)
3295 EOF
3296 $(FLOWEY_BIN) e 17 flowey_lib_common::cache 6
3297 displayName: map ADO hitvar to flowey
3298 - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_gh_release 1
3299 displayName: download artifacts from github releases
3300 - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_azcopy 0
3301 displayName: extract azcopy from archive
3302 - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
3303 displayName: calculating required VMM tests disk images
3304 - bash: |-
3305 set -e
3306 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
3307 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
3308 displayName: downloading VMM test disk images
3309 - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::resolve_openvmm_deps 0
3310 displayName: unpack openvmm-deps archive
3311 - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_uefi_mu_msvm 0
3312 displayName: unpack mu_msvm package (x64)
3313 - bash: |-
3314 set -e
3315 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::init_vmm_tests_env 0
3316 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::run_cargo_nextest_run 1
3317 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 12
3318 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
3319 displayName: setting up vmm_tests env
3320 - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0
3321 displayName: generate nextest command
3322 - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::install_vmm_tests_deps 0
3323 displayName: install vmm tests deps (windows)
3324 - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
3325 displayName: starting test_igvm_agent_rpc_server
3326 - bash: |-
3327 set -e
3328 $(FLOWEY_BIN) e 17 flowey_lib_common::run_cargo_nextest_run 0
3329 $(FLOWEY_BIN) e 17 flowey_lib_common::run_cargo_nextest_run 1
3330 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
3331 displayName: run 'vmm_tests' nextest tests
3332 - bash: |-
3333 set -e
3334 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
3335 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
3336 $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 1
3337 $(FLOWEY_BIN) e 17 flowey_lib_common::ado_task_publish_test_results 0
3338 $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 0
3339 $FLOWEY_BIN v 17 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar1
3340 $FLOWEY_BIN v 17 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
3341 displayName: stopping test_igvm_agent_rpc_server
3342 - task: PublishTestResults@2
3343 inputs:
3344 testResultsFormat: JUnit
3345 testResultsFiles: $(floweyvar1)
3346 testRunTitle: x64-windows-intel-mi-secure-vmm-tests
3347 displayName: 'publish test results: x64-windows-intel-mi-secure-vmm-tests (JUnit XML)'
3348 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
3349 - bash: |-
3350 set -e
3351 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
3352 $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 2
3353 $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 3
3354 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
3355 displayName: report test results to overall pipeline status
3356 - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::cache 3
3357 displayName: 'validate cache entry: cargo-nextest'
3358 - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::cache 7
3359 displayName: 'validate cache entry: gh-release-download'
3360- job: job14
3361 displayName: run vmm-tests [x64-windows-amd]
3362 pool:
3363 demands:
3364 - ImageOverride -equals win-amd64
3365 name: openvmm-ado-intel-centralus
3366 dependsOn:
3367 - job0
3368 - job5
3369 - job7
3370 - job9
3371 condition: and(succeeded(), not(canceled()))
3372 variables:
3373 - name: FLOWEY_TEMP_DIR
3374 value: $(Build.StagingDirectory)/.flowey-internal
3375 steps:
3376 - task: DownloadPipelineArtifact@2
3377 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
3378 inputs:
3379 artifact: _internal-flowey-bootstrap-x86_64-windows-uid-3
3380 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
3381 - task: DownloadPipelineArtifact@2
3382 displayName: πŸŒΌπŸ“¦ Download x64-guest_test_uefi
3383 inputs:
3384 artifact: x64-guest_test_uefi
3385 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-guest_test_uefi
3386 - task: DownloadPipelineArtifact@2
3387 displayName: πŸŒΌπŸ“¦ Download x64-linux-musl-pipette
3388 inputs:
3389 artifact: x64-linux-musl-pipette
3390 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-pipette
3391 - task: DownloadPipelineArtifact@2
3392 displayName: πŸŒΌπŸ“¦ Download x64-linux-musl-tmk_vmm
3393 inputs:
3394 artifact: x64-linux-musl-tmk_vmm
3395 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-tmk_vmm
3396 - task: DownloadPipelineArtifact@2
3397 displayName: πŸŒΌπŸ“¦ Download x64-linux-tpm_guest_tests
3398 inputs:
3399 artifact: x64-linux-tpm_guest_tests
3400 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-tpm_guest_tests
3401 - task: DownloadPipelineArtifact@2
3402 displayName: πŸŒΌπŸ“¦ Download x64-openhcl-igvm
3403 inputs:
3404 artifact: x64-openhcl-igvm
3405 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-openhcl-igvm
3406 - task: DownloadPipelineArtifact@2
3407 displayName: πŸŒΌπŸ“¦ Download x64-tmks
3408 inputs:
3409 artifact: x64-tmks
3410 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-tmks
3411 - task: DownloadPipelineArtifact@2
3412 displayName: πŸŒΌπŸ“¦ Download x64-windows-openvmm
3413 inputs:
3414 artifact: x64-windows-openvmm
3415 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-openvmm
3416 - task: DownloadPipelineArtifact@2
3417 displayName: πŸŒΌπŸ“¦ Download x64-windows-pipette
3418 inputs:
3419 artifact: x64-windows-pipette
3420 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-pipette
3421 - task: DownloadPipelineArtifact@2
3422 displayName: πŸŒΌπŸ“¦ Download x64-windows-prep_steps
3423 inputs:
3424 artifact: x64-windows-prep_steps
3425 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-prep_steps
3426 - task: DownloadPipelineArtifact@2
3427 displayName: πŸŒΌπŸ“¦ Download x64-windows-test_igvm_agent_rpc_server
3428 inputs:
3429 artifact: x64-windows-test_igvm_agent_rpc_server
3430 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-test_igvm_agent_rpc_server
3431 - task: DownloadPipelineArtifact@2
3432 displayName: πŸŒΌπŸ“¦ Download x64-windows-tmk_vmm
3433 inputs:
3434 artifact: x64-windows-tmk_vmm
3435 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tmk_vmm
3436 - task: DownloadPipelineArtifact@2
3437 displayName: πŸŒΌπŸ“¦ Download x64-windows-tpm_guest_tests
3438 inputs:
3439 artifact: x64-windows-tpm_guest_tests
3440 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tpm_guest_tests
3441 - task: DownloadPipelineArtifact@2
3442 displayName: πŸŒΌπŸ“¦ Download x64-windows-vmgstool
3443 inputs:
3444 artifact: x64-windows-vmgstool
3445 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool
3446 - task: DownloadPipelineArtifact@2
3447 displayName: πŸŒΌπŸ“¦ Download x64-windows-vmm-tests-archive
3448 inputs:
3449 artifact: x64-windows-vmm-tests-archive
3450 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive
3451 - bash: |
3452 set -e
3453 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
3454 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3455 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
3456
3457 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
3458 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
3459 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
3460 displayName: Set flowey path
3461 - bash: |
3462 set -e
3463 echo '"debug"' | $FLOWEY_BIN v 14 'FLOWEY_LOG' update
3464 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 14 '_internal_WORKING_DIR' --is-raw-string update
3465
3466 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 14 'verbose' update
3467 ${{ parameters.verbose }}
3468 EOF
3469 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-guest_test_uefi" | $FLOWEY_BIN v 14 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
3470 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-pipette" | $FLOWEY_BIN v 14 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
3471 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-tmk_vmm" | $FLOWEY_BIN v 14 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
3472 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-tpm_guest_tests" | $FLOWEY_BIN v 14 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
3473 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-openhcl-igvm" | $FLOWEY_BIN v 14 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
3474 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-tmks" | $FLOWEY_BIN v 14 'artifact_use_from_x64-tmks' --is-raw-string update
3475 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-openvmm" | $FLOWEY_BIN v 14 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
3476 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-pipette" | $FLOWEY_BIN v 14 'artifact_use_from_x64-windows-pipette' --is-raw-string update
3477 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-prep_steps" | $FLOWEY_BIN v 14 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
3478 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-test_igvm_agent_rpc_server" | $FLOWEY_BIN v 14 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
3479 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tmk_vmm" | $FLOWEY_BIN v 14 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
3480 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tpm_guest_tests" | $FLOWEY_BIN v 14 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
3481 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool" | $FLOWEY_BIN v 14 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
3482 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive" | $FLOWEY_BIN v 14 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
3483 displayName: πŸŒΌπŸ›« Initialize job
3484 - bash: |-
3485 set -e
3486 $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 0
3487 $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 1
3488 $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 2
3489 $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 3
3490 displayName: create cargo-nextest cache dir
3491 - bash: |-
3492 set -e
3493 $(FLOWEY_BIN) e 14 flowey_lib_common::cache 0
3494 $FLOWEY_BIN v 14 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar3
3495 $FLOWEY_BIN v 14 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar4
3496 displayName: Pre-processing cache vars
3497 - task: Cache@2
3498 inputs:
3499 key: $(floweyvar4)
3500 path: $(floweyvar3)
3501 cacheHitVar: FLOWEY_CACHE_HITVAR
3502 displayName: 'Restore cache: cargo-nextest'
3503 - bash: |-
3504 set -e
3505 $FLOWEY_BIN v 14 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
3506 $(FLOWEY_CACHE_HITVAR)
3507 EOF
3508 $(FLOWEY_BIN) e 14 flowey_lib_common::cache 2
3509 displayName: map ADO hitvar to flowey
3510 - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 4
3511 displayName: downloading cargo-nextest
3512 - bash: |-
3513 set -e
3514 $(FLOWEY_BIN) e 14 flowey_lib_common::git_checkout 0
3515 $FLOWEY_BIN v 14 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar2
3516 $FLOWEY_BIN v 14 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
3517 displayName: check if openvmm needs to be cloned
3518 - checkout: self
3519 path: repo0
3520 fetchTags: false
3521 fetchDepth: 1
3522 persistCredentials: $(floweyvar2)
3523 submodules: recursive
3524 displayName: checkout repo openvmm
3525 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
3526 - bash: |-
3527 set -e
3528 $(FLOWEY_BIN) e 14 flowey_lib_common::git_checkout 2
3529 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3530 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::run_cargo_nextest_run 0
3531 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 5
3532 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 6
3533 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 1
3534 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 0
3535 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 9
3536 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 2
3537 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 4
3538 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 11
3539 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 10
3540 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 3
3541 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 8
3542 displayName: report cloned repo directories
3543 - bash: $(FLOWEY_BIN) e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
3544 displayName: creating new test content dir
3545 - bash: $(FLOWEY_BIN) e 14 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
3546 displayName: resolve OpenHCL igvm artifact
3547 - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::download_gh_release 0
3548 displayName: create gh-release-download cache dir
3549 - bash: |-
3550 set -e
3551 $(FLOWEY_BIN) e 14 flowey_lib_common::cache 4
3552 $FLOWEY_BIN v 14 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar5
3553 $FLOWEY_BIN v 14 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar6
3554 displayName: Pre-processing cache vars
3555 - task: Cache@2
3556 inputs:
3557 key: $(floweyvar6)
3558 path: $(floweyvar5)
3559 cacheHitVar: FLOWEY_CACHE_HITVAR
3560 displayName: 'Restore cache: gh-release-download'
3561 - bash: |-
3562 set -e
3563 $FLOWEY_BIN v 14 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
3564 $(FLOWEY_CACHE_HITVAR)
3565 EOF
3566 $(FLOWEY_BIN) e 14 flowey_lib_common::cache 6
3567 displayName: map ADO hitvar to flowey
3568 - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::download_gh_release 1
3569 displayName: download artifacts from github releases
3570 - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::download_azcopy 0
3571 displayName: extract azcopy from archive
3572 - bash: $(FLOWEY_BIN) e 14 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
3573 displayName: calculating required VMM tests disk images
3574 - bash: |-
3575 set -e
3576 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
3577 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
3578 displayName: downloading VMM test disk images
3579 - bash: $(FLOWEY_BIN) e 14 flowey_lib_hvlite::resolve_openvmm_deps 0
3580 displayName: unpack openvmm-deps archive
3581 - bash: $(FLOWEY_BIN) e 14 flowey_lib_hvlite::download_uefi_mu_msvm 0
3582 displayName: unpack mu_msvm package (x64)
3583 - bash: |-
3584 set -e
3585 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::init_vmm_tests_env 0
3586 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::run_cargo_nextest_run 1
3587 $(FLOWEY_BIN) e 14 flowey_core::pipeline::artifact::resolve 12
3588 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
3589 displayName: setting up vmm_tests env
3590 - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::gen_cargo_nextest_run_cmd 0
3591 displayName: generate nextest command
3592 - bash: $(FLOWEY_BIN) e 14 flowey_lib_hvlite::install_vmm_tests_deps 0
3593 displayName: install vmm tests deps (windows)
3594 - bash: $(FLOWEY_BIN) e 14 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
3595 displayName: starting test_igvm_agent_rpc_server
3596 - bash: |-
3597 set -e
3598 $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 0
3599 $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 1
3600 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
3601 displayName: run 'vmm_tests' nextest tests
3602 - bash: |-
3603 set -e
3604 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
3605 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
3606 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 1
3607 $(FLOWEY_BIN) e 14 flowey_lib_common::ado_task_publish_test_results 0
3608 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 0
3609 $FLOWEY_BIN v 14 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar1
3610 $FLOWEY_BIN v 14 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
3611 displayName: stopping test_igvm_agent_rpc_server
3612 - task: PublishTestResults@2
3613 inputs:
3614 testResultsFormat: JUnit
3615 testResultsFiles: $(floweyvar1)
3616 testRunTitle: x64-windows-amd-vmm-tests
3617 displayName: 'publish test results: x64-windows-amd-vmm-tests (JUnit XML)'
3618 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
3619 - bash: |-
3620 set -e
3621 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
3622 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 2
3623 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 3
3624 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
3625 displayName: report test results to overall pipeline status
3626 - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::cache 3
3627 displayName: 'validate cache entry: cargo-nextest'
3628 - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::cache 7
3629 displayName: 'validate cache entry: gh-release-download'
3630- job: job13
3631 displayName: run vmm-tests [x64-windows-intel]
3632 pool:
3633 demands:
3634 - ImageOverride -equals win-amd64
3635 name: openvmm-ado-intel-centralus
3636 dependsOn:
3637 - job0
3638 - job5
3639 - job7
3640 - job9
3641 condition: and(succeeded(), not(canceled()))
3642 variables:
3643 - name: FLOWEY_TEMP_DIR
3644 value: $(Build.StagingDirectory)/.flowey-internal
3645 steps:
3646 - task: DownloadPipelineArtifact@2
3647 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey
3648 inputs:
3649 artifact: _internal-flowey-bootstrap-x86_64-windows-uid-3
3650 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
3651 - task: DownloadPipelineArtifact@2
3652 displayName: πŸŒΌπŸ“¦ Download x64-guest_test_uefi
3653 inputs:
3654 artifact: x64-guest_test_uefi
3655 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-guest_test_uefi
3656 - task: DownloadPipelineArtifact@2
3657 displayName: πŸŒΌπŸ“¦ Download x64-linux-musl-pipette
3658 inputs:
3659 artifact: x64-linux-musl-pipette
3660 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-pipette
3661 - task: DownloadPipelineArtifact@2
3662 displayName: πŸŒΌπŸ“¦ Download x64-linux-musl-tmk_vmm
3663 inputs:
3664 artifact: x64-linux-musl-tmk_vmm
3665 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-tmk_vmm
3666 - task: DownloadPipelineArtifact@2
3667 displayName: πŸŒΌπŸ“¦ Download x64-linux-tpm_guest_tests
3668 inputs:
3669 artifact: x64-linux-tpm_guest_tests
3670 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-tpm_guest_tests
3671 - task: DownloadPipelineArtifact@2
3672 displayName: πŸŒΌπŸ“¦ Download x64-openhcl-igvm
3673 inputs:
3674 artifact: x64-openhcl-igvm
3675 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-openhcl-igvm
3676 - task: DownloadPipelineArtifact@2
3677 displayName: πŸŒΌπŸ“¦ Download x64-tmks
3678 inputs:
3679 artifact: x64-tmks
3680 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-tmks
3681 - task: DownloadPipelineArtifact@2
3682 displayName: πŸŒΌπŸ“¦ Download x64-windows-openvmm
3683 inputs:
3684 artifact: x64-windows-openvmm
3685 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-openvmm
3686 - task: DownloadPipelineArtifact@2
3687 displayName: πŸŒΌπŸ“¦ Download x64-windows-pipette
3688 inputs:
3689 artifact: x64-windows-pipette
3690 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-pipette
3691 - task: DownloadPipelineArtifact@2
3692 displayName: πŸŒΌπŸ“¦ Download x64-windows-prep_steps
3693 inputs:
3694 artifact: x64-windows-prep_steps
3695 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-prep_steps
3696 - task: DownloadPipelineArtifact@2
3697 displayName: πŸŒΌπŸ“¦ Download x64-windows-test_igvm_agent_rpc_server
3698 inputs:
3699 artifact: x64-windows-test_igvm_agent_rpc_server
3700 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-test_igvm_agent_rpc_server
3701 - task: DownloadPipelineArtifact@2
3702 displayName: πŸŒΌπŸ“¦ Download x64-windows-tmk_vmm
3703 inputs:
3704 artifact: x64-windows-tmk_vmm
3705 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tmk_vmm
3706 - task: DownloadPipelineArtifact@2
3707 displayName: πŸŒΌπŸ“¦ Download x64-windows-tpm_guest_tests
3708 inputs:
3709 artifact: x64-windows-tpm_guest_tests
3710 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tpm_guest_tests
3711 - task: DownloadPipelineArtifact@2
3712 displayName: πŸŒΌπŸ“¦ Download x64-windows-vmgstool
3713 inputs:
3714 artifact: x64-windows-vmgstool
3715 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool
3716 - task: DownloadPipelineArtifact@2
3717 displayName: πŸŒΌπŸ“¦ Download x64-windows-vmm-tests-archive
3718 inputs:
3719 artifact: x64-windows-vmm-tests-archive
3720 path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive
3721 - bash: |
3722 set -e
3723 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
3724 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3725 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
3726
3727 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
3728 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
3729 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
3730 displayName: Set flowey path
3731 - bash: |
3732 set -e
3733 echo '"debug"' | $FLOWEY_BIN v 13 'FLOWEY_LOG' update
3734 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 13 '_internal_WORKING_DIR' --is-raw-string update
3735
3736 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 13 'verbose' update
3737 ${{ parameters.verbose }}
3738 EOF
3739 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-guest_test_uefi" | $FLOWEY_BIN v 13 'artifact_use_from_x64-guest_test_uefi' --is-raw-string update
3740 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-pipette" | $FLOWEY_BIN v 13 'artifact_use_from_x64-linux-musl-pipette' --is-raw-string update
3741 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-musl-tmk_vmm" | $FLOWEY_BIN v 13 'artifact_use_from_x64-linux-musl-tmk_vmm' --is-raw-string update
3742 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-tpm_guest_tests" | $FLOWEY_BIN v 13 'artifact_use_from_x64-linux-tpm_guest_tests' --is-raw-string update
3743 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-openhcl-igvm" | $FLOWEY_BIN v 13 'artifact_use_from_x64-openhcl-igvm' --is-raw-string update
3744 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-tmks" | $FLOWEY_BIN v 13 'artifact_use_from_x64-tmks' --is-raw-string update
3745 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-openvmm" | $FLOWEY_BIN v 13 'artifact_use_from_x64-windows-openvmm' --is-raw-string update
3746 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-pipette" | $FLOWEY_BIN v 13 'artifact_use_from_x64-windows-pipette' --is-raw-string update
3747 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-prep_steps" | $FLOWEY_BIN v 13 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update
3748 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-test_igvm_agent_rpc_server" | $FLOWEY_BIN v 13 'artifact_use_from_x64-windows-test_igvm_agent_rpc_server' --is-raw-string update
3749 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tmk_vmm" | $FLOWEY_BIN v 13 'artifact_use_from_x64-windows-tmk_vmm' --is-raw-string update
3750 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-tpm_guest_tests" | $FLOWEY_BIN v 13 'artifact_use_from_x64-windows-tpm_guest_tests' --is-raw-string update
3751 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool" | $FLOWEY_BIN v 13 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update
3752 echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive" | $FLOWEY_BIN v 13 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update
3753 displayName: πŸŒΌπŸ›« Initialize job
3754 - bash: |-
3755 set -e
3756 $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 0
3757 $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 1
3758 $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 2
3759 $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 3
3760 displayName: create cargo-nextest cache dir
3761 - bash: |-
3762 set -e
3763 $(FLOWEY_BIN) e 13 flowey_lib_common::cache 0
3764 $FLOWEY_BIN v 13 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar3
3765 $FLOWEY_BIN v 13 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar4
3766 displayName: Pre-processing cache vars
3767 - task: Cache@2
3768 inputs:
3769 key: $(floweyvar4)
3770 path: $(floweyvar3)
3771 cacheHitVar: FLOWEY_CACHE_HITVAR
3772 displayName: 'Restore cache: cargo-nextest'
3773 - bash: |-
3774 set -e
3775 $FLOWEY_BIN v 13 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
3776 $(FLOWEY_CACHE_HITVAR)
3777 EOF
3778 $(FLOWEY_BIN) e 13 flowey_lib_common::cache 2
3779 displayName: map ADO hitvar to flowey
3780 - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 4
3781 displayName: downloading cargo-nextest
3782 - bash: |-
3783 set -e
3784 $(FLOWEY_BIN) e 13 flowey_lib_common::git_checkout 0
3785 $FLOWEY_BIN v 13 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar2
3786 $FLOWEY_BIN v 13 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
3787 displayName: check if openvmm needs to be cloned
3788 - checkout: self
3789 path: repo0
3790 fetchTags: false
3791 fetchDepth: 1
3792 persistCredentials: $(floweyvar2)
3793 submodules: recursive
3794 displayName: checkout repo openvmm
3795 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
3796 - bash: |-
3797 set -e
3798 $(FLOWEY_BIN) e 13 flowey_lib_common::git_checkout 2
3799 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::git_checkout_openvmm_repo 0
3800 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::run_cargo_nextest_run 0
3801 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 5
3802 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 6
3803 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 1
3804 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 0
3805 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 9
3806 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 2
3807 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 4
3808 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 11
3809 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 10
3810 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 3
3811 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 8
3812 displayName: report cloned repo directories
3813 - bash: $(FLOWEY_BIN) e 13 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 0
3814 displayName: creating new test content dir
3815 - bash: $(FLOWEY_BIN) e 13 flowey_lib_hvlite::artifact_openhcl_igvm_from_recipe::resolve 0
3816 displayName: resolve OpenHCL igvm artifact
3817 - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::download_gh_release 0
3818 displayName: create gh-release-download cache dir
3819 - bash: |-
3820 set -e
3821 $(FLOWEY_BIN) e 13 flowey_lib_common::cache 4
3822 $FLOWEY_BIN v 13 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar5
3823 $FLOWEY_BIN v 13 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar6
3824 displayName: Pre-processing cache vars
3825 - task: Cache@2
3826 inputs:
3827 key: $(floweyvar6)
3828 path: $(floweyvar5)
3829 cacheHitVar: FLOWEY_CACHE_HITVAR
3830 displayName: 'Restore cache: gh-release-download'
3831 - bash: |-
3832 set -e
3833 $FLOWEY_BIN v 13 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
3834 $(FLOWEY_CACHE_HITVAR)
3835 EOF
3836 $(FLOWEY_BIN) e 13 flowey_lib_common::cache 6
3837 displayName: map ADO hitvar to flowey
3838 - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::download_gh_release 1
3839 displayName: download artifacts from github releases
3840 - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::download_azcopy 0
3841 displayName: extract azcopy from archive
3842 - bash: $(FLOWEY_BIN) e 13 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0
3843 displayName: calculating required VMM tests disk images
3844 - bash: |-
3845 set -e
3846 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1
3847 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2
3848 displayName: downloading VMM test disk images
3849 - bash: $(FLOWEY_BIN) e 13 flowey_lib_hvlite::resolve_openvmm_deps 0
3850 displayName: unpack openvmm-deps archive
3851 - bash: $(FLOWEY_BIN) e 13 flowey_lib_hvlite::download_uefi_mu_msvm 0
3852 displayName: unpack mu_msvm package (x64)
3853 - bash: |-
3854 set -e
3855 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::init_vmm_tests_env 0
3856 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::run_cargo_nextest_run 1
3857 $(FLOWEY_BIN) e 13 flowey_core::pipeline::artifact::resolve 12
3858 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0
3859 displayName: setting up vmm_tests env
3860 - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 0
3861 displayName: generate nextest command
3862 - bash: $(FLOWEY_BIN) e 13 flowey_lib_hvlite::install_vmm_tests_deps 0
3863 displayName: install vmm tests deps (windows)
3864 - bash: $(FLOWEY_BIN) e 13 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0
3865 displayName: starting test_igvm_agent_rpc_server
3866 - bash: |-
3867 set -e
3868 $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 0
3869 $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 1
3870 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1
3871 displayName: run 'vmm_tests' nextest tests
3872 - bash: |-
3873 set -e
3874 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0
3875 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3
3876 $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 1
3877 $(FLOWEY_BIN) e 13 flowey_lib_common::ado_task_publish_test_results 0
3878 $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 0
3879 $FLOWEY_BIN v 13 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs:57:45' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43 write-to-env ado floweyvar1
3880 $FLOWEY_BIN v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs:77:43' write-to-env ado FLOWEY_CONDITION
3881 displayName: stopping test_igvm_agent_rpc_server
3882 - task: PublishTestResults@2
3883 inputs:
3884 testResultsFormat: JUnit
3885 testResultsFiles: $(floweyvar1)
3886 testRunTitle: x64-windows-intel-vmm-tests
3887 displayName: 'publish test results: x64-windows-intel-vmm-tests (JUnit XML)'
3888 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
3889 - bash: |-
3890 set -e
3891 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2
3892 $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 2
3893 $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 3
3894 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4
3895 displayName: report test results to overall pipeline status
3896 - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::cache 3
3897 displayName: 'validate cache entry: cargo-nextest'
3898 - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::cache 7
3899 displayName: 'validate cache entry: gh-release-download'
3900- job: job4
3901 displayName: build artifacts (not for VMM tests) [x64-windows]
3902 pool:
3903 demands:
3904 - ImageOverride -equals win-amd64
3905 name: openvmm-ado-intel-centralus
3906 dependsOn:
3907 - job0
3908 condition: and(succeeded(), not(canceled()))
3909 variables:
3910 - name: FLOWEY_TEMP_DIR
3911 value: $(Build.StagingDirectory)/.flowey-internal
3912 steps:
3913 - bash: |
3914 set -x
3915 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
3916 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
3917 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
3918 . "$HOME/.cargo/env"
3919 echo '##vso[task.prependpath]$(HOME)/.cargo/bin'
3920 condition: eq(variables['Agent.OS'], 'Linux')
3921 displayName: rustup (Linux)
3922 - bash: |
3923 set -x
3924 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
3925 ./rustup-init.exe -y --default-toolchain=1.95.0
3926 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin'
3927 condition: eq(variables['Agent.OS'], 'Windows_NT')
3928 displayName: rustup (Windows X64)
3929 - bash: |
3930 set -x
3931 rustup show
3932 displayName: Verify rustup installation
3933 - checkout: self
3934 fetchTags: false
3935 fetchDepth: 1
3936 path: flowey_bootstrap
3937 - bash: CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
3938 workingDirectory: ../flowey_bootstrap
3939 displayName: Build flowey
3940 - bash: |
3941 mkdir ./flowey_bootstrap_temp
3942 mv ./ci-flowey/openvmm-pr.yaml ./flowey_bootstrap_temp/pipeline.yaml
3943 mv ./ci-flowey/openvmm-pr.json ./flowey_bootstrap_temp/pipeline.json
3944 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe ./flowey_bootstrap_temp/flowey.exe
3945 workingDirectory: ../flowey_bootstrap
3946 displayName: Stage flowey artifact
3947 - task: CopyFiles@2
3948 displayName: Copy flowey artifact
3949 inputs:
3950 SourceFolder: ../flowey_bootstrap/flowey_bootstrap_temp
3951 TargetFolder: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
3952 - bash: rm -rf ./flowey_bootstrap_temp
3953 workingDirectory: ../flowey_bootstrap
3954 displayName: Cleanup staged flowey artifact
3955 - bash: |
3956 set -e
3957 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
3958 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
3959 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
3960
3961 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
3962 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
3963 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
3964 displayName: Set flowey path
3965 - bash: |-
3966 ESCAPED_AGENT_TEMPDIR=$(
3967 cat <<'EOF' | sed 's/\\/\\\\/g'
3968 $(FLOWEY_TEMP_DIR)
3969 EOF
3970 )
3971 $(FLOWEY_BIN) pipeline ado --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out ci-flowey/openvmm-pr.yaml ci checkin-gates --config=pr
3972 displayName: πŸŒΌπŸ”Ž Self-check YAML
3973 - bash: |
3974 set -e
3975 echo '"debug"' | $FLOWEY_BIN v 4 'FLOWEY_LOG' update
3976 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 4 '_internal_WORKING_DIR' --is-raw-string update
3977
3978 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 4 'verbose' update
3979 ${{ parameters.verbose }}
3980 EOF
3981 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-hypestv"
3982 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-hypestv" | $FLOWEY_BIN v 4 'artifact_publish_from_x64-windows-hypestv' --is-raw-string update
3983 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-igvmfilegen"
3984 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-igvmfilegen" | $FLOWEY_BIN v 4 'artifact_publish_from_x64-windows-igvmfilegen' --is-raw-string update
3985 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-ohcldiag-dev"
3986 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-ohcldiag-dev" | $FLOWEY_BIN v 4 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update
3987 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-vmgs_lib"
3988 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmgs_lib" | $FLOWEY_BIN v 4 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update
3989 displayName: πŸŒΌπŸ›« Initialize job
3990 - bash: $(FLOWEY_BIN) e 4 flowey_lib_common::install_rust 0
3991 displayName: install Rust
3992 - bash: |-
3993 set -e
3994 $(FLOWEY_BIN) e 4 flowey_lib_common::install_rust 1
3995 $(FLOWEY_BIN) e 4 flowey_lib_common::cfg_cargo_common_flags 0
3996 displayName: detect active toolchain
3997 - bash: |-
3998 set -e
3999 $(FLOWEY_BIN) e 4 flowey_lib_common::git_checkout 0
4000 $FLOWEY_BIN v 4 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar1
4001 $FLOWEY_BIN v 4 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
4002 displayName: check if openvmm needs to be cloned
4003 - checkout: self
4004 path: repo0
4005 fetchTags: false
4006 fetchDepth: 1
4007 persistCredentials: $(floweyvar1)
4008 submodules: recursive
4009 displayName: checkout repo openvmm
4010 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
4011 - bash: |-
4012 set -e
4013 $(FLOWEY_BIN) e 4 flowey_lib_common::git_checkout 2
4014 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4015 displayName: report cloned repo directories
4016 - bash: $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
4017 displayName: set '-Dwarnings' in .cargo/config.toml
4018 - bash: $(FLOWEY_BIN) e 4 flowey_lib_common::download_gh_release 0
4019 displayName: create gh-release-download cache dir
4020 - bash: |-
4021 set -e
4022 $(FLOWEY_BIN) e 4 flowey_lib_common::cache 0
4023 $FLOWEY_BIN v 4 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar2
4024 $FLOWEY_BIN v 4 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar3
4025 displayName: Pre-processing cache vars
4026 - task: Cache@2
4027 inputs:
4028 key: $(floweyvar3)
4029 path: $(floweyvar2)
4030 cacheHitVar: FLOWEY_CACHE_HITVAR
4031 displayName: 'Restore cache: gh-release-download'
4032 - bash: |-
4033 set -e
4034 $FLOWEY_BIN v 4 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
4035 $(FLOWEY_CACHE_HITVAR)
4036 EOF
4037 $(FLOWEY_BIN) e 4 flowey_lib_common::cache 2
4038 displayName: map ADO hitvar to flowey
4039 - bash: $(FLOWEY_BIN) e 4 flowey_lib_common::download_gh_release 1
4040 displayName: download artifacts from github releases
4041 - bash: |-
4042 set -e
4043 $(FLOWEY_BIN) e 4 flowey_lib_common::resolve_protoc 0
4044 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::cfg_openvmm_magicpath 0
4045 displayName: unpack protoc
4046 - bash: |-
4047 set -e
4048 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
4049 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 1
4050 displayName: symlink protoc
4051 - bash: |-
4052 set -e
4053 $(FLOWEY_BIN) e 4 flowey_lib_common::run_cargo_build 0
4054 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::run_cargo_build 0
4055 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_hypestv 0
4056 $(FLOWEY_BIN) e 4 flowey_core::pipeline::artifact::publish 0
4057 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 0
4058 displayName: cargo build hypestv
4059 - bash: |-
4060 set -e
4061 $(FLOWEY_BIN) e 4 flowey_lib_common::run_cargo_build 3
4062 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::run_cargo_build 3
4063 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0
4064 displayName: cargo build vmgs_lib
4065 - bash: |-
4066 set -e
4067 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1
4068 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 2
4069 $(FLOWEY_BIN) e 4 flowey_core::pipeline::artifact::publish 1
4070 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 2
4071 displayName: test vmgs_lib
4072 - bash: |-
4073 set -e
4074 $(FLOWEY_BIN) e 4 flowey_lib_common::run_cargo_build 1
4075 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::run_cargo_build 1
4076 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_igvmfilegen 0
4077 $(FLOWEY_BIN) e 4 flowey_core::pipeline::artifact::publish 2
4078 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 3
4079 displayName: cargo build igvmfilegen
4080 - bash: |-
4081 set -e
4082 $(FLOWEY_BIN) e 4 flowey_lib_common::run_cargo_build 2
4083 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::run_cargo_build 2
4084 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_ohcldiag_dev 0
4085 $(FLOWEY_BIN) e 4 flowey_core::pipeline::artifact::publish 3
4086 displayName: cargo build ohcldiag-dev
4087 - bash: $(FLOWEY_BIN) e 4 flowey_lib_common::cache 3
4088 displayName: 'validate cache entry: gh-release-download'
4089 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-hypestv
4090 displayName: πŸŒΌπŸ“¦ Publish x64-windows-hypestv
4091 artifact: x64-windows-hypestv
4092 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-igvmfilegen
4093 displayName: πŸŒΌπŸ“¦ Publish x64-windows-igvmfilegen
4094 artifact: x64-windows-igvmfilegen
4095 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-ohcldiag-dev
4096 displayName: πŸŒΌπŸ“¦ Publish x64-windows-ohcldiag-dev
4097 artifact: x64-windows-ohcldiag-dev
4098 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmgs_lib
4099 displayName: πŸŒΌπŸ“¦ Publish x64-windows-vmgs_lib
4100 artifact: x64-windows-vmgs_lib
4101- job: job3
4102 displayName: build artifacts (for VMM tests) [aarch64-windows]
4103 pool:
4104 demands:
4105 - ImageOverride -equals win-amd64
4106 name: openvmm-ado-intel-centralus
4107 dependsOn:
4108 - job0
4109 condition: and(succeeded(), not(canceled()))
4110 variables:
4111 - name: FLOWEY_TEMP_DIR
4112 value: $(Build.StagingDirectory)/.flowey-internal
4113 steps:
4114 - bash: |
4115 set -x
4116 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
4117 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
4118 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
4119 . "$HOME/.cargo/env"
4120 echo '##vso[task.prependpath]$(HOME)/.cargo/bin'
4121 condition: eq(variables['Agent.OS'], 'Linux')
4122 displayName: rustup (Linux)
4123 - bash: |
4124 set -x
4125 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
4126 ./rustup-init.exe -y --default-toolchain=1.95.0
4127 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin'
4128 condition: eq(variables['Agent.OS'], 'Windows_NT')
4129 displayName: rustup (Windows X64)
4130 - bash: |
4131 set -x
4132 rustup show
4133 displayName: Verify rustup installation
4134 - checkout: self
4135 fetchTags: false
4136 fetchDepth: 1
4137 path: flowey_bootstrap
4138 - bash: CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
4139 workingDirectory: ../flowey_bootstrap
4140 displayName: Build flowey
4141 - bash: |
4142 mkdir ./flowey_bootstrap_temp
4143 mv ./ci-flowey/openvmm-pr.yaml ./flowey_bootstrap_temp/pipeline.yaml
4144 mv ./ci-flowey/openvmm-pr.json ./flowey_bootstrap_temp/pipeline.json
4145 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe ./flowey_bootstrap_temp/flowey.exe
4146 workingDirectory: ../flowey_bootstrap
4147 displayName: Stage flowey artifact
4148 - task: CopyFiles@2
4149 displayName: Copy flowey artifact
4150 inputs:
4151 SourceFolder: ../flowey_bootstrap/flowey_bootstrap_temp
4152 TargetFolder: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
4153 - bash: rm -rf ./flowey_bootstrap_temp
4154 workingDirectory: ../flowey_bootstrap
4155 displayName: Cleanup staged flowey artifact
4156 - bash: |
4157 set -e
4158 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
4159 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4160 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
4161
4162 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
4163 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
4164 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
4165 displayName: Set flowey path
4166 - bash: |-
4167 ESCAPED_AGENT_TEMPDIR=$(
4168 cat <<'EOF' | sed 's/\\/\\\\/g'
4169 $(FLOWEY_TEMP_DIR)
4170 EOF
4171 )
4172 $(FLOWEY_BIN) pipeline ado --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out ci-flowey/openvmm-pr.yaml ci checkin-gates --config=pr
4173 displayName: πŸŒΌπŸ”Ž Self-check YAML
4174 - bash: |
4175 set -e
4176 echo '"debug"' | $FLOWEY_BIN v 3 'FLOWEY_LOG' update
4177 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 3 '_internal_WORKING_DIR' --is-raw-string update
4178
4179 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 3 'verbose' update
4180 ${{ parameters.verbose }}
4181 EOF
4182 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-openvmm"
4183 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-openvmm" | $FLOWEY_BIN v 3 'artifact_publish_from_aarch64-windows-openvmm' --is-raw-string update
4184 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-pipette"
4185 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-pipette" | $FLOWEY_BIN v 3 'artifact_publish_from_aarch64-windows-pipette' --is-raw-string update
4186 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-prep_steps"
4187 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-prep_steps" | $FLOWEY_BIN v 3 'artifact_publish_from_aarch64-windows-prep_steps' --is-raw-string update
4188 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server"
4189 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server" | $FLOWEY_BIN v 3 'artifact_publish_from_aarch64-windows-test_igvm_agent_rpc_server' --is-raw-string update
4190 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-tmk_vmm"
4191 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-tmk_vmm" | $FLOWEY_BIN v 3 'artifact_publish_from_aarch64-windows-tmk_vmm' --is-raw-string update
4192 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-tpm_guest_tests"
4193 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-tpm_guest_tests" | $FLOWEY_BIN v 3 'artifact_publish_from_aarch64-windows-tpm_guest_tests' --is-raw-string update
4194 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-vmgstool"
4195 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmgstool" | $FLOWEY_BIN v 3 'artifact_publish_from_aarch64-windows-vmgstool' --is-raw-string update
4196 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-vmm-tests-archive"
4197 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmm-tests-archive" | $FLOWEY_BIN v 3 'artifact_publish_from_aarch64-windows-vmm-tests-archive' --is-raw-string update
4198 displayName: πŸŒΌπŸ›« Initialize job
4199 - bash: $(FLOWEY_BIN) e 3 flowey_lib_common::install_rust 0
4200 displayName: install Rust
4201 - bash: |-
4202 set -e
4203 $(FLOWEY_BIN) e 3 flowey_lib_common::install_rust 1
4204 $(FLOWEY_BIN) e 3 flowey_lib_common::cfg_cargo_common_flags 0
4205 displayName: detect active toolchain
4206 - bash: |-
4207 set -e
4208 $(FLOWEY_BIN) e 3 flowey_lib_common::git_checkout 0
4209 $FLOWEY_BIN v 3 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar1
4210 $FLOWEY_BIN v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
4211 displayName: check if openvmm needs to be cloned
4212 - checkout: self
4213 path: repo0
4214 fetchTags: false
4215 fetchDepth: 1
4216 persistCredentials: $(floweyvar1)
4217 submodules: recursive
4218 displayName: checkout repo openvmm
4219 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
4220 - bash: |-
4221 set -e
4222 $(FLOWEY_BIN) e 3 flowey_lib_common::git_checkout 2
4223 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4224 displayName: report cloned repo directories
4225 - bash: $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
4226 displayName: set '-Dwarnings' in .cargo/config.toml
4227 - bash: $(FLOWEY_BIN) e 3 flowey_lib_common::download_gh_release 0
4228 displayName: create gh-release-download cache dir
4229 - bash: |-
4230 set -e
4231 $(FLOWEY_BIN) e 3 flowey_lib_common::cache 4
4232 $FLOWEY_BIN v 3 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar4
4233 $FLOWEY_BIN v 3 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar5
4234 displayName: Pre-processing cache vars
4235 - task: Cache@2
4236 inputs:
4237 key: $(floweyvar5)
4238 path: $(floweyvar4)
4239 cacheHitVar: FLOWEY_CACHE_HITVAR
4240 displayName: 'Restore cache: gh-release-download'
4241 - bash: |-
4242 set -e
4243 $FLOWEY_BIN v 3 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
4244 $(FLOWEY_CACHE_HITVAR)
4245 EOF
4246 $(FLOWEY_BIN) e 3 flowey_lib_common::cache 6
4247 displayName: map ADO hitvar to flowey
4248 - bash: $(FLOWEY_BIN) e 3 flowey_lib_common::download_gh_release 1
4249 displayName: download artifacts from github releases
4250 - bash: |-
4251 set -e
4252 $(FLOWEY_BIN) e 3 flowey_lib_common::resolve_protoc 0
4253 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::cfg_openvmm_magicpath 0
4254 displayName: unpack protoc
4255 - bash: |-
4256 set -e
4257 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
4258 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_cross_build 2
4259 displayName: symlink protoc
4260 - bash: |-
4261 set -e
4262 $(FLOWEY_BIN) e 3 flowey_lib_common::run_cargo_build 4
4263 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 6
4264 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::build_tmk_vmm 0
4265 $(FLOWEY_BIN) e 3 flowey_core::pipeline::artifact::publish 4
4266 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_cross_build 7
4267 displayName: cargo build tmk_vmm
4268 - bash: |-
4269 set -e
4270 $(FLOWEY_BIN) e 3 flowey_lib_common::run_cargo_build 2
4271 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 2
4272 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::build_prep_steps 0
4273 $(FLOWEY_BIN) e 3 flowey_core::pipeline::artifact::publish 5
4274 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_cross_build 4
4275 displayName: cargo build prep_steps
4276 - bash: |-
4277 set -e
4278 $(FLOWEY_BIN) e 3 flowey_lib_common::run_cargo_build 6
4279 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 10
4280 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::build_vmgstool 0
4281 $(FLOWEY_BIN) e 3 flowey_core::pipeline::artifact::publish 6
4282 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_cross_build 3
4283 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 7
4284 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 8
4285 displayName: cargo build vmgstool
4286 - bash: |-
4287 set -e
4288 $(FLOWEY_BIN) e 3 flowey_lib_common::run_cargo_build 5
4289 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 9
4290 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::build_tpm_guest_tests 0
4291 $(FLOWEY_BIN) e 3 flowey_core::pipeline::artifact::publish 7
4292 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_cross_build 1
4293 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 3
4294 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 4
4295 displayName: cargo build tpm_guest_tests
4296 - bash: |-
4297 set -e
4298 $(FLOWEY_BIN) e 3 flowey_lib_common::run_cargo_build 3
4299 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 5
4300 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::build_test_igvm_agent_rpc_server 0
4301 $(FLOWEY_BIN) e 3 flowey_core::pipeline::artifact::publish 0
4302 displayName: cargo build test_igvm_agent_rpc_server
4303 - bash: |-
4304 set -e
4305 $(FLOWEY_BIN) e 3 flowey_lib_common::download_cargo_nextest 0
4306 $(FLOWEY_BIN) e 3 flowey_lib_common::download_cargo_nextest 1
4307 $(FLOWEY_BIN) e 3 flowey_lib_common::download_cargo_nextest 2
4308 $(FLOWEY_BIN) e 3 flowey_lib_common::download_cargo_nextest 3
4309 displayName: create cargo-nextest cache dir
4310 - bash: |-
4311 set -e
4312 $(FLOWEY_BIN) e 3 flowey_lib_common::cache 0
4313 $FLOWEY_BIN v 3 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar2
4314 $FLOWEY_BIN v 3 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar3
4315 displayName: Pre-processing cache vars
4316 - task: Cache@2
4317 inputs:
4318 key: $(floweyvar3)
4319 path: $(floweyvar2)
4320 cacheHitVar: FLOWEY_CACHE_HITVAR
4321 displayName: 'Restore cache: cargo-nextest'
4322 - bash: |-
4323 set -e
4324 $FLOWEY_BIN v 3 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
4325 $(FLOWEY_CACHE_HITVAR)
4326 EOF
4327 $(FLOWEY_BIN) e 3 flowey_lib_common::cache 2
4328 displayName: map ADO hitvar to flowey
4329 - bash: $(FLOWEY_BIN) e 3 flowey_lib_common::download_cargo_nextest 4
4330 displayName: downloading cargo-nextest
4331 - bash: $(FLOWEY_BIN) e 3 flowey_lib_common::install_rust 2
4332 displayName: report $CARGO_HOME
4333 - bash: |-
4334 set -e
4335 $(FLOWEY_BIN) e 3 flowey_lib_common::install_cargo_nextest 0
4336 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_cross_build 0
4337 displayName: installing cargo-nextest
4338 - bash: |-
4339 set -e
4340 $(FLOWEY_BIN) e 3 flowey_lib_common::run_cargo_nextest_archive 0
4341 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::build_nextest_vmm_tests 0
4342 $(FLOWEY_BIN) e 3 flowey_core::pipeline::artifact::publish 1
4343 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_cross_build 5
4344 displayName: build + archive 'vmm_tests' nextests
4345 - bash: |-
4346 set -e
4347 $(FLOWEY_BIN) e 3 flowey_lib_common::run_cargo_build 0
4348 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 0
4349 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::build_openvmm 0
4350 $(FLOWEY_BIN) e 3 flowey_core::pipeline::artifact::publish 2
4351 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::init_cross_build 6
4352 displayName: cargo build openvmm
4353 - bash: |-
4354 set -e
4355 $(FLOWEY_BIN) e 3 flowey_lib_common::run_cargo_build 1
4356 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::run_cargo_build 1
4357 $(FLOWEY_BIN) e 3 flowey_lib_hvlite::build_pipette 0
4358 $(FLOWEY_BIN) e 3 flowey_core::pipeline::artifact::publish 3
4359 displayName: cargo build pipette
4360 - bash: $(FLOWEY_BIN) e 3 flowey_lib_common::cache 3
4361 displayName: 'validate cache entry: cargo-nextest'
4362 - bash: $(FLOWEY_BIN) e 3 flowey_lib_common::cache 7
4363 displayName: 'validate cache entry: gh-release-download'
4364 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-openvmm
4365 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-openvmm
4366 artifact: aarch64-windows-openvmm
4367 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-pipette
4368 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-pipette
4369 artifact: aarch64-windows-pipette
4370 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-prep_steps
4371 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-prep_steps
4372 artifact: aarch64-windows-prep_steps
4373 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-test_igvm_agent_rpc_server
4374 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-test_igvm_agent_rpc_server
4375 artifact: aarch64-windows-test_igvm_agent_rpc_server
4376 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-tmk_vmm
4377 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-tmk_vmm
4378 artifact: aarch64-windows-tmk_vmm
4379 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-tpm_guest_tests
4380 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-tpm_guest_tests
4381 artifact: aarch64-windows-tpm_guest_tests
4382 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmgstool
4383 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-vmgstool
4384 artifact: aarch64-windows-vmgstool
4385 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmm-tests-archive
4386 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-tests-archive
4387 artifact: aarch64-windows-vmm-tests-archive
4388- job: job2
4389 displayName: build artifacts (not for VMM tests) [aarch64-windows]
4390 pool:
4391 demands:
4392 - ImageOverride -equals win-amd64
4393 name: openvmm-ado-intel-centralus
4394 dependsOn:
4395 - job0
4396 condition: and(succeeded(), not(canceled()))
4397 variables:
4398 - name: FLOWEY_TEMP_DIR
4399 value: $(Build.StagingDirectory)/.flowey-internal
4400 steps:
4401 - bash: |
4402 set -x
4403 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
4404 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
4405 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
4406 . "$HOME/.cargo/env"
4407 echo '##vso[task.prependpath]$(HOME)/.cargo/bin'
4408 condition: eq(variables['Agent.OS'], 'Linux')
4409 displayName: rustup (Linux)
4410 - bash: |
4411 set -x
4412 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
4413 ./rustup-init.exe -y --default-toolchain=1.95.0
4414 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin'
4415 condition: eq(variables['Agent.OS'], 'Windows_NT')
4416 displayName: rustup (Windows X64)
4417 - bash: |
4418 set -x
4419 rustup show
4420 displayName: Verify rustup installation
4421 - checkout: self
4422 fetchTags: false
4423 fetchDepth: 1
4424 path: flowey_bootstrap
4425 - bash: CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
4426 workingDirectory: ../flowey_bootstrap
4427 displayName: Build flowey
4428 - bash: |
4429 mkdir ./flowey_bootstrap_temp
4430 mv ./ci-flowey/openvmm-pr.yaml ./flowey_bootstrap_temp/pipeline.yaml
4431 mv ./ci-flowey/openvmm-pr.json ./flowey_bootstrap_temp/pipeline.json
4432 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe ./flowey_bootstrap_temp/flowey.exe
4433 workingDirectory: ../flowey_bootstrap
4434 displayName: Stage flowey artifact
4435 - task: CopyFiles@2
4436 displayName: Copy flowey artifact
4437 inputs:
4438 SourceFolder: ../flowey_bootstrap/flowey_bootstrap_temp
4439 TargetFolder: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
4440 - bash: rm -rf ./flowey_bootstrap_temp
4441 workingDirectory: ../flowey_bootstrap
4442 displayName: Cleanup staged flowey artifact
4443 - bash: |
4444 set -e
4445 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
4446 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4447 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
4448
4449 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
4450 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
4451 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
4452 displayName: Set flowey path
4453 - bash: |-
4454 ESCAPED_AGENT_TEMPDIR=$(
4455 cat <<'EOF' | sed 's/\\/\\\\/g'
4456 $(FLOWEY_TEMP_DIR)
4457 EOF
4458 )
4459 $(FLOWEY_BIN) pipeline ado --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out ci-flowey/openvmm-pr.yaml ci checkin-gates --config=pr
4460 displayName: πŸŒΌπŸ”Ž Self-check YAML
4461 - bash: |
4462 set -e
4463 echo '"debug"' | $FLOWEY_BIN v 2 'FLOWEY_LOG' update
4464 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 2 '_internal_WORKING_DIR' --is-raw-string update
4465
4466 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 2 'verbose' update
4467 ${{ parameters.verbose }}
4468 EOF
4469 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-hypestv"
4470 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-hypestv" | $FLOWEY_BIN v 2 'artifact_publish_from_aarch64-windows-hypestv' --is-raw-string update
4471 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-igvmfilegen"
4472 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-igvmfilegen" | $FLOWEY_BIN v 2 'artifact_publish_from_aarch64-windows-igvmfilegen' --is-raw-string update
4473 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-ohcldiag-dev"
4474 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-ohcldiag-dev" | $FLOWEY_BIN v 2 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update
4475 mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-vmgs_lib"
4476 echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmgs_lib" | $FLOWEY_BIN v 2 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update
4477 displayName: πŸŒΌπŸ›« Initialize job
4478 - bash: $(FLOWEY_BIN) e 2 flowey_lib_common::install_rust 0
4479 displayName: install Rust
4480 - bash: |-
4481 set -e
4482 $(FLOWEY_BIN) e 2 flowey_lib_common::install_rust 1
4483 $(FLOWEY_BIN) e 2 flowey_lib_common::cfg_cargo_common_flags 0
4484 displayName: detect active toolchain
4485 - bash: |-
4486 set -e
4487 $(FLOWEY_BIN) e 2 flowey_lib_common::git_checkout 0
4488 $FLOWEY_BIN v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar1
4489 $FLOWEY_BIN v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
4490 displayName: check if openvmm needs to be cloned
4491 - checkout: self
4492 path: repo0
4493 fetchTags: false
4494 fetchDepth: 1
4495 persistCredentials: $(floweyvar1)
4496 submodules: recursive
4497 displayName: checkout repo openvmm
4498 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
4499 - bash: |-
4500 set -e
4501 $(FLOWEY_BIN) e 2 flowey_lib_common::git_checkout 2
4502 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4503 displayName: report cloned repo directories
4504 - bash: $(FLOWEY_BIN) e 2 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
4505 displayName: set '-Dwarnings' in .cargo/config.toml
4506 - bash: $(FLOWEY_BIN) e 2 flowey_lib_common::download_gh_release 0
4507 displayName: create gh-release-download cache dir
4508 - bash: |-
4509 set -e
4510 $(FLOWEY_BIN) e 2 flowey_lib_common::cache 0
4511 $FLOWEY_BIN v 2 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar2
4512 $FLOWEY_BIN v 2 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar3
4513 displayName: Pre-processing cache vars
4514 - task: Cache@2
4515 inputs:
4516 key: $(floweyvar3)
4517 path: $(floweyvar2)
4518 cacheHitVar: FLOWEY_CACHE_HITVAR
4519 displayName: 'Restore cache: gh-release-download'
4520 - bash: |-
4521 set -e
4522 $FLOWEY_BIN v 2 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
4523 $(FLOWEY_CACHE_HITVAR)
4524 EOF
4525 $(FLOWEY_BIN) e 2 flowey_lib_common::cache 2
4526 displayName: map ADO hitvar to flowey
4527 - bash: $(FLOWEY_BIN) e 2 flowey_lib_common::download_gh_release 1
4528 displayName: download artifacts from github releases
4529 - bash: |-
4530 set -e
4531 $(FLOWEY_BIN) e 2 flowey_lib_common::resolve_protoc 0
4532 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::cfg_openvmm_magicpath 0
4533 displayName: unpack protoc
4534 - bash: |-
4535 set -e
4536 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
4537 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::init_cross_build 1
4538 displayName: symlink protoc
4539 - bash: |-
4540 set -e
4541 $(FLOWEY_BIN) e 2 flowey_lib_common::run_cargo_build 0
4542 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::run_cargo_build 0
4543 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::build_hypestv 0
4544 $(FLOWEY_BIN) e 2 flowey_core::pipeline::artifact::publish 0
4545 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::init_cross_build 0
4546 displayName: cargo build hypestv
4547 - bash: |-
4548 set -e
4549 $(FLOWEY_BIN) e 2 flowey_lib_common::run_cargo_build 3
4550 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::run_cargo_build 3
4551 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 0
4552 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::build_and_test_vmgs_lib 1
4553 $(FLOWEY_BIN) e 2 flowey_core::pipeline::artifact::publish 1
4554 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::init_cross_build 2
4555 displayName: cargo build vmgs_lib
4556 - bash: |-
4557 set -e
4558 $(FLOWEY_BIN) e 2 flowey_lib_common::run_cargo_build 1
4559 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::run_cargo_build 1
4560 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::build_igvmfilegen 0
4561 $(FLOWEY_BIN) e 2 flowey_core::pipeline::artifact::publish 2
4562 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::init_cross_build 3
4563 displayName: cargo build igvmfilegen
4564 - bash: |-
4565 set -e
4566 $(FLOWEY_BIN) e 2 flowey_lib_common::run_cargo_build 2
4567 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::run_cargo_build 2
4568 $(FLOWEY_BIN) e 2 flowey_lib_hvlite::build_ohcldiag_dev 0
4569 $(FLOWEY_BIN) e 2 flowey_core::pipeline::artifact::publish 3
4570 displayName: cargo build ohcldiag-dev
4571 - bash: $(FLOWEY_BIN) e 2 flowey_lib_common::cache 3
4572 displayName: 'validate cache entry: gh-release-download'
4573 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-hypestv
4574 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-hypestv
4575 artifact: aarch64-windows-hypestv
4576 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-igvmfilegen
4577 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-igvmfilegen
4578 artifact: aarch64-windows-igvmfilegen
4579 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-ohcldiag-dev
4580 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-ohcldiag-dev
4581 artifact: aarch64-windows-ohcldiag-dev
4582 - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmgs_lib
4583 displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-vmgs_lib
4584 artifact: aarch64-windows-vmgs_lib
4585- job: job1
4586 displayName: xtask fmt (windows)
4587 pool:
4588 demands:
4589 - ImageOverride -equals win-amd64
4590 name: openvmm-ado-intel-centralus
4591 dependsOn:
4592 - job0
4593 condition: and(succeeded(), not(canceled()))
4594 variables:
4595 - name: FLOWEY_TEMP_DIR
4596 value: $(Build.StagingDirectory)/.flowey-internal
4597 steps:
4598 - bash: |
4599 set -x
4600 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
4601 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
4602 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y
4603 . "$HOME/.cargo/env"
4604 echo '##vso[task.prependpath]$(HOME)/.cargo/bin'
4605 condition: eq(variables['Agent.OS'], 'Linux')
4606 displayName: rustup (Linux)
4607 - bash: |
4608 set -x
4609 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
4610 ./rustup-init.exe -y --default-toolchain=1.95.0
4611 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin'
4612 condition: eq(variables['Agent.OS'], 'Windows_NT')
4613 displayName: rustup (Windows X64)
4614 - bash: |
4615 set -x
4616 rustup show
4617 displayName: Verify rustup installation
4618 - checkout: self
4619 fetchTags: false
4620 fetchDepth: 1
4621 path: flowey_bootstrap
4622 - bash: CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
4623 workingDirectory: ../flowey_bootstrap
4624 displayName: Build flowey
4625 - bash: |
4626 mkdir ./flowey_bootstrap_temp
4627 mv ./ci-flowey/openvmm-pr.yaml ./flowey_bootstrap_temp/pipeline.yaml
4628 mv ./ci-flowey/openvmm-pr.json ./flowey_bootstrap_temp/pipeline.json
4629 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe ./flowey_bootstrap_temp/flowey.exe
4630 workingDirectory: ../flowey_bootstrap
4631 displayName: Stage flowey artifact
4632 - task: CopyFiles@2
4633 displayName: Copy flowey artifact
4634 inputs:
4635 SourceFolder: ../flowey_bootstrap/flowey_bootstrap_temp
4636 TargetFolder: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey
4637 - bash: rm -rf ./flowey_bootstrap_temp
4638 workingDirectory: ../flowey_bootstrap
4639 displayName: Cleanup staged flowey artifact
4640 - bash: |
4641 set -e
4642 AgentTempDirNormal="$(FLOWEY_TEMP_DIR)"
4643 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
4644 echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal"
4645
4646 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
4647 FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe"
4648 echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN"
4649 displayName: Set flowey path
4650 - bash: |-
4651 ESCAPED_AGENT_TEMPDIR=$(
4652 cat <<'EOF' | sed 's/\\/\\\\/g'
4653 $(FLOWEY_TEMP_DIR)
4654 EOF
4655 )
4656 $(FLOWEY_BIN) pipeline ado --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out ci-flowey/openvmm-pr.yaml ci checkin-gates --config=pr
4657 displayName: πŸŒΌπŸ”Ž Self-check YAML
4658 - bash: |
4659 set -e
4660 echo '"debug"' | $FLOWEY_BIN v 1 'FLOWEY_LOG' update
4661 echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 1 '_internal_WORKING_DIR' --is-raw-string update
4662
4663 cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 1 'verbose' update
4664 ${{ parameters.verbose }}
4665 EOF
4666 displayName: πŸŒΌπŸ›« Initialize job
4667 - bash: |-
4668 set -e
4669 $(FLOWEY_BIN) e 1 flowey_lib_common::git_checkout 0
4670 $FLOWEY_BIN v 1 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:319:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46 write-to-env ado floweyvar1
4671 $FLOWEY_BIN v 1 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:320:46' write-to-env ado FLOWEY_CONDITION
4672 displayName: check if openvmm needs to be cloned
4673 - checkout: self
4674 path: repo0
4675 fetchTags: false
4676 fetchDepth: 1
4677 persistCredentials: $(floweyvar1)
4678 submodules: recursive
4679 displayName: checkout repo openvmm
4680 condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled()))
4681 - bash: |-
4682 set -e
4683 $(FLOWEY_BIN) e 1 flowey_lib_common::git_checkout 2
4684 $(FLOWEY_BIN) e 1 flowey_lib_hvlite::git_checkout_openvmm_repo 0
4685 displayName: report cloned repo directories
4686 - bash: $(FLOWEY_BIN) e 1 flowey_lib_common::install_rust 0
4687 displayName: install Rust
4688 - bash: |-
4689 set -e
4690 $(FLOWEY_BIN) e 1 flowey_lib_common::install_rust 1
4691 $(FLOWEY_BIN) e 1 flowey_lib_common::cfg_cargo_common_flags 0
4692 displayName: detect active toolchain
4693 - bash: $(FLOWEY_BIN) e 1 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
4694 displayName: set '-Dwarnings' in .cargo/config.toml
4695 - bash: $(FLOWEY_BIN) e 1 flowey_lib_common::download_gh_release 0
4696 displayName: create gh-release-download cache dir
4697 - bash: |-
4698 set -e
4699 $(FLOWEY_BIN) e 1 flowey_lib_common::cache 0
4700 $FLOWEY_BIN v 1 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:236:72' --is-raw-string write-to-env ado floweyvar2
4701 $FLOWEY_BIN v 1 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:237:72' --is-raw-string write-to-env ado floweyvar3
4702 displayName: Pre-processing cache vars
4703 - task: Cache@2
4704 inputs:
4705 key: $(floweyvar3)
4706 path: $(floweyvar2)
4707 cacheHitVar: FLOWEY_CACHE_HITVAR
4708 displayName: 'Restore cache: gh-release-download'
4709 - bash: |-
4710 set -e
4711 $FLOWEY_BIN v 1 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:300:70' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF'
4712 $(FLOWEY_CACHE_HITVAR)
4713 EOF
4714 $(FLOWEY_BIN) e 1 flowey_lib_common::cache 2
4715 displayName: map ADO hitvar to flowey
4716 - bash: $(FLOWEY_BIN) e 1 flowey_lib_common::download_gh_release 1
4717 displayName: download artifacts from github releases
4718 - bash: |-
4719 set -e
4720 $(FLOWEY_BIN) e 1 flowey_lib_common::resolve_protoc 0
4721 $(FLOWEY_BIN) e 1 flowey_lib_hvlite::cfg_openvmm_magicpath 0
4722 displayName: unpack protoc
4723 - bash: |-
4724 set -e
4725 $(FLOWEY_BIN) e 1 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
4726 $(FLOWEY_BIN) e 1 flowey_lib_hvlite::init_cross_build 0
4727 displayName: symlink protoc
4728 - bash: |-
4729 set -e
4730 $(FLOWEY_BIN) e 1 flowey_lib_common::run_cargo_build 0
4731 $(FLOWEY_BIN) e 1 flowey_lib_hvlite::run_cargo_build 0
4732 $(FLOWEY_BIN) e 1 flowey_lib_hvlite::build_xtask 0
4733 displayName: cargo build xtask
4734 - bash: $(FLOWEY_BIN) e 1 flowey_lib_hvlite::_jobs::check_xtask_fmt 0
4735 displayName: run xtask fmt
4736 - bash: $(FLOWEY_BIN) e 1 flowey_lib_common::cache 3
4737 displayName: 'validate cache entry: gh-release-download'
4738