microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
ef598e5dbee969896aec0c2a72b77800cbedaa14

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

567lines Β· modecode

1##############################
2# THIS FILE IS AUTOGENERATED #
3# DO NOT MANUALLY EDIT #
4##############################
5name: '[flowey] OpenVMM Docs PR'
6on:
7 workflow_dispatch:
8 inputs:
9 verbose:
10 description: Run with verbose output
11 default: false
12 required: false
13 type: boolean
14 pull_request:
15 branches:
16 - main
17 types:
18 - opened
19 - synchronize
20 - reopened
21 - ready_for_review
22concurrency:
23 group: ${{ github.workflow }}-${{ github.ref }}
24 cancel-in-progress: true
25jobs:
26 job0:
27 name: build mdbook guide
28 runs-on: ubuntu-latest
29 permissions:
30 contents: read
31 id-token: write
32 if: github.event.pull_request.draft == false
33 steps:
34 - run: |
35 set -x
36 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
37 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
38 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.90.0 -y
39 . "$HOME/.cargo/env"
40 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
41 rustup show
42 if: runner.os == 'Linux'
43 name: rustup (Linux)
44 shell: bash
45 - run: |
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.90.0
49 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
50 if: runner.os == 'Windows' && runner.arch == 'X64'
51 name: rustup (Windows X64)
52 shell: bash
53 - run: |
54 set -x
55 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
56 ./rustup-init.exe -y --default-toolchain=1.90.0
57 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
58 if: runner.os == 'Windows' && runner.arch == 'ARM64'
59 name: rustup (Windows ARM64)
60 shell: bash
61 - uses: actions/checkout@v4
62 with:
63 path: flowey_bootstrap
64 - name: Build flowey
65 run: |
66 set -x
67 CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci
68 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
69 mkdir -p "$OutDirNormal"
70 mv ./.github/workflows/openvmm-docs-pr.yaml "$OutDirNormal/pipeline.yaml"
71 mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
72 working-directory: flowey_bootstrap
73 shell: bash
74 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
75 shell: bash
76 name: πŸŒΌπŸ“¦ Add flowey to PATH
77 - name: πŸŒΌπŸ”Ž Self-check YAML
78 run: |-
79 ESCAPED_AGENT_TEMPDIR=$(
80 cat <<'EOF' | sed 's/\\/\\\\/g'
81 ${{ runner.temp }}
82 EOF
83 )
84 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-docs-pr.yaml ci build-docs --config=pr
85 shell: bash
86 - name: πŸŒΌπŸ›« Initialize job
87 run: |
88 AgentTempDirNormal="${{ runner.temp }}"
89 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
90 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
91
92 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
93
94 echo '"debug"' | flowey v 0 'FLOWEY_LOG' update
95 echo "${{ runner.temp }}/work" | flowey v 0 '_internal_WORKING_DIR' --is-raw-string update
96
97 cat <<'EOF' | flowey v 0 'verbose' update
98 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
99 EOF
100 mkdir -p "$AgentTempDirNormal/publish_artifacts/guide"
101 echo "$AgentTempDirNormal/publish_artifacts/guide" | flowey v 0 'artifact_publish_from_guide' --is-raw-string update
102 shell: bash
103 - name: create gh-release-download cache dir
104 run: flowey e 0 flowey_lib_common::download_gh_release 0
105 shell: bash
106 - name: Pre-processing cache vars
107 run: |-
108 flowey e 0 flowey_lib_common::cache 0
109 flowey v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
110 flowey v 0 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
111 shell: bash
112 - id: flowey_lib_common__cache__1
113 uses: actions/cache@v4
114 with:
115 key: ${{ env.floweyvar2 }}
116 path: ${{ env.floweyvar3 }}
117 name: 'Restore cache: gh-release-download'
118 - name: download artifacts from github releases
119 run: |-
120 flowey v 0 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
121 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
122 EOF
123 flowey e 0 flowey_lib_common::cache 2
124 flowey e 0 flowey_lib_common::download_gh_release 1
125 shell: bash
126 - name: checking if packages need to be installed
127 run: flowey e 0 flowey_lib_common::install_dist_pkg 0
128 shell: bash
129 - name: installing packages
130 run: flowey e 0 flowey_lib_common::install_dist_pkg 1
131 shell: bash
132 - name: unpack mdbook
133 run: flowey e 0 flowey_lib_common::download_mdbook 0
134 shell: bash
135 - name: unpack mdbook-admonish
136 run: flowey e 0 flowey_lib_common::download_mdbook_admonish 0
137 shell: bash
138 - name: unpack mdbook-mermaid
139 run: flowey e 0 flowey_lib_common::download_mdbook_mermaid 0
140 shell: bash
141 - name: check if openvmm needs to be cloned
142 run: |-
143 flowey e 0 flowey_lib_common::git_checkout 0
144 flowey v 0 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
145 flowey v 0 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
146 shell: bash
147 - id: flowey_lib_common__git_checkout__1
148 uses: actions/checkout@v4
149 with:
150 fetch-depth: '1'
151 path: repo0
152 persist-credentials: ${{ env.floweyvar1 }}
153 name: checkout repo openvmm
154 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
155 - name: report cloned repo directories
156 run: |-
157 flowey v 0 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
158 ${{ github.workspace }}
159 EOF
160 flowey e 0 flowey_lib_common::git_checkout 3
161 flowey e 0 flowey_lib_hvlite::git_checkout_openvmm_repo 0
162 flowey e 0 flowey_lib_hvlite::build_guide 0
163 shell: bash
164 - name: add default cargo home to path
165 run: flowey e 0 flowey_lib_common::install_rust 0
166 shell: bash
167 - name: install Rust
168 run: flowey e 0 flowey_lib_common::install_rust 1
169 shell: bash
170 - name: build OpenVMM guide (mdbook)
171 run: |-
172 flowey e 0 flowey_lib_hvlite::build_guide 1
173 flowey e 0 flowey_core::pipeline::artifact::publish 0
174 shell: bash
175 - name: 'validate cache entry: gh-release-download'
176 run: flowey e 0 flowey_lib_common::cache 3
177 shell: bash
178 - name: πŸŒΌπŸ“¦ Publish guide
179 uses: actions/upload-artifact@v4
180 with:
181 name: guide
182 path: ${{ runner.temp }}/publish_artifacts/guide/
183 include-hidden-files: true
184 job1:
185 name: build and check docs [x64-windows]
186 runs-on: windows-latest
187 permissions:
188 contents: read
189 id-token: write
190 if: github.event.pull_request.draft == false
191 steps:
192 - run: |
193 set -x
194 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
195 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
196 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.90.0 -y
197 . "$HOME/.cargo/env"
198 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
199 rustup show
200 if: runner.os == 'Linux'
201 name: rustup (Linux)
202 shell: bash
203 - run: |
204 set -x
205 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
206 ./rustup-init.exe -y --default-toolchain=1.90.0
207 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
208 if: runner.os == 'Windows' && runner.arch == 'X64'
209 name: rustup (Windows X64)
210 shell: bash
211 - run: |
212 set -x
213 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
214 ./rustup-init.exe -y --default-toolchain=1.90.0
215 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
216 if: runner.os == 'Windows' && runner.arch == 'ARM64'
217 name: rustup (Windows ARM64)
218 shell: bash
219 - uses: actions/checkout@v4
220 with:
221 path: flowey_bootstrap
222 - name: Build flowey
223 run: |
224 set -x
225 CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci
226 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
227 mkdir -p "$OutDirNormal"
228 mv ./.github/workflows/openvmm-docs-pr.yaml "$OutDirNormal/pipeline.yaml"
229 mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe"
230 working-directory: flowey_bootstrap
231 shell: bash
232 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
233 shell: bash
234 name: πŸŒΌπŸ“¦ Add flowey to PATH
235 - name: πŸŒΌπŸ”Ž Self-check YAML
236 run: |-
237 ESCAPED_AGENT_TEMPDIR=$(
238 cat <<'EOF' | sed 's/\\/\\\\/g'
239 ${{ runner.temp }}
240 EOF
241 )
242 flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-docs-pr.yaml ci build-docs --config=pr
243 shell: bash
244 - name: πŸŒΌπŸ›« Initialize job
245 run: |
246 AgentTempDirNormal="${{ runner.temp }}"
247 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
248 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
249
250 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe
251
252 echo '"debug"' | flowey.exe v 1 'FLOWEY_LOG' update
253 echo "${{ runner.temp }}/work" | flowey.exe v 1 '_internal_WORKING_DIR' --is-raw-string update
254
255 cat <<'EOF' | flowey.exe v 1 'verbose' update
256 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
257 EOF
258 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-rustdoc"
259 echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-rustdoc" | flowey.exe v 1 'artifact_publish_from_x64-windows-rustdoc' --is-raw-string update
260 shell: bash
261 - name: check if openvmm needs to be cloned
262 run: |-
263 flowey.exe e 1 flowey_lib_common::git_checkout 0
264 flowey.exe v 1 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
265 flowey.exe v 1 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
266 shell: bash
267 - id: flowey_lib_common__git_checkout__1
268 uses: actions/checkout@v4
269 with:
270 fetch-depth: '1'
271 path: repo0
272 persist-credentials: ${{ env.floweyvar1 }}
273 name: checkout repo openvmm
274 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
275 - name: report cloned repo directories
276 run: |-
277 flowey.exe v 1 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
278 ${{ github.workspace }}
279 EOF
280 flowey.exe e 1 flowey_lib_common::git_checkout 3
281 flowey.exe e 1 flowey_lib_hvlite::git_checkout_openvmm_repo 0
282 shell: bash
283 - name: set '-Dwarnings' in .cargo/config.toml
284 run: flowey.exe e 1 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
285 shell: bash
286 - name: create gh-release-download cache dir
287 run: flowey.exe e 1 flowey_lib_common::download_gh_release 0
288 shell: bash
289 - name: Pre-processing cache vars
290 run: |-
291 flowey.exe e 1 flowey_lib_common::cache 0
292 flowey.exe v 1 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
293 flowey.exe v 1 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
294 shell: bash
295 - id: flowey_lib_common__cache__1
296 uses: actions/cache@v4
297 with:
298 key: ${{ env.floweyvar2 }}
299 path: ${{ env.floweyvar3 }}
300 name: 'Restore cache: gh-release-download'
301 - name: download artifacts from github releases
302 run: |-
303 flowey.exe v 1 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
304 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
305 EOF
306 flowey.exe e 1 flowey_lib_common::cache 2
307 flowey.exe e 1 flowey_lib_common::download_gh_release 1
308 shell: bash
309 - name: unpack protoc
310 run: |-
311 flowey.exe e 1 flowey_lib_common::download_protoc 0
312 flowey.exe e 1 flowey_lib_hvlite::cfg_openvmm_magicpath 0
313 shell: bash
314 - name: symlink protoc
315 run: flowey.exe e 1 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
316 shell: bash
317 - name: add default cargo home to path
318 run: flowey.exe e 1 flowey_lib_common::install_rust 0
319 shell: bash
320 - name: install Rust
321 run: flowey.exe e 1 flowey_lib_common::install_rust 1
322 shell: bash
323 - name: unpack Microsoft.WSL.LxUtil.x64.zip
324 run: flowey.exe e 1 flowey_lib_hvlite::download_lxutil 0
325 shell: bash
326 - name: move lxutil.dll into its magic folder
327 run: flowey.exe e 1 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 0
328 shell: bash
329 - name: detect active toolchain
330 run: |-
331 flowey.exe e 1 flowey_lib_common::install_rust 2
332 flowey.exe e 1 flowey_lib_common::cfg_cargo_common_flags 0
333 flowey.exe e 1 flowey_lib_common::run_cargo_doc 0
334 shell: bash
335 - name: document repo for target x86_64-pc-windows-msvc
336 run: |-
337 flowey.exe e 1 flowey_lib_hvlite::build_rustdoc 0
338 flowey.exe e 1 flowey_core::pipeline::artifact::publish 0
339 shell: bash
340 - name: 'validate cache entry: gh-release-download'
341 run: flowey.exe e 1 flowey_lib_common::cache 3
342 shell: bash
343 - name: πŸŒΌπŸ“¦ Publish x64-windows-rustdoc
344 uses: actions/upload-artifact@v4
345 with:
346 name: x64-windows-rustdoc
347 path: ${{ runner.temp }}/publish_artifacts/x64-windows-rustdoc/
348 include-hidden-files: true
349 job2:
350 name: build and check docs [x64-linux]
351 runs-on: ubuntu-latest
352 permissions:
353 contents: read
354 id-token: write
355 if: github.event.pull_request.draft == false
356 steps:
357 - run: |
358 set -x
359 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
360 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
361 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.90.0 -y
362 . "$HOME/.cargo/env"
363 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
364 rustup show
365 if: runner.os == 'Linux'
366 name: rustup (Linux)
367 shell: bash
368 - run: |
369 set -x
370 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
371 ./rustup-init.exe -y --default-toolchain=1.90.0
372 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
373 if: runner.os == 'Windows' && runner.arch == 'X64'
374 name: rustup (Windows X64)
375 shell: bash
376 - run: |
377 set -x
378 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
379 ./rustup-init.exe -y --default-toolchain=1.90.0
380 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
381 if: runner.os == 'Windows' && runner.arch == 'ARM64'
382 name: rustup (Windows ARM64)
383 shell: bash
384 - uses: actions/checkout@v4
385 with:
386 path: flowey_bootstrap
387 - name: Build flowey
388 run: |
389 set -x
390 CARGO_INCREMENTAL=0 RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Z threads=8" cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci
391 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
392 mkdir -p "$OutDirNormal"
393 mv ./.github/workflows/openvmm-docs-pr.yaml "$OutDirNormal/pipeline.yaml"
394 mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
395 working-directory: flowey_bootstrap
396 shell: bash
397 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
398 shell: bash
399 name: πŸŒΌπŸ“¦ Add flowey to PATH
400 - name: πŸŒΌπŸ”Ž Self-check YAML
401 run: |-
402 ESCAPED_AGENT_TEMPDIR=$(
403 cat <<'EOF' | sed 's/\\/\\\\/g'
404 ${{ runner.temp }}
405 EOF
406 )
407 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-docs-pr.yaml ci build-docs --config=pr
408 shell: bash
409 - name: πŸŒΌπŸ›« Initialize job
410 run: |
411 AgentTempDirNormal="${{ runner.temp }}"
412 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
413 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
414
415 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
416
417 echo '"debug"' | flowey v 2 'FLOWEY_LOG' update
418 echo "${{ runner.temp }}/work" | flowey v 2 '_internal_WORKING_DIR' --is-raw-string update
419
420 cat <<'EOF' | flowey v 2 'verbose' update
421 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
422 EOF
423 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-rustdoc"
424 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-rustdoc" | flowey v 2 'artifact_publish_from_x64-linux-rustdoc' --is-raw-string update
425 shell: bash
426 - name: check if openvmm needs to be cloned
427 run: |-
428 flowey e 2 flowey_lib_common::git_checkout 0
429 flowey v 2 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs:469:80' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46 write-to-env github floweyvar1
430 flowey v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
431 shell: bash
432 - id: flowey_lib_common__git_checkout__1
433 uses: actions/checkout@v4
434 with:
435 fetch-depth: '1'
436 path: repo0
437 persist-credentials: ${{ env.floweyvar1 }}
438 name: checkout repo openvmm
439 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
440 - name: report cloned repo directories
441 run: |-
442 flowey v 2 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs:55:41' --is-raw-string update --env-source github.workspace <<EOF
443 ${{ github.workspace }}
444 EOF
445 flowey e 2 flowey_lib_common::git_checkout 3
446 flowey e 2 flowey_lib_hvlite::git_checkout_openvmm_repo 0
447 shell: bash
448 - name: set '-Dwarnings' in .cargo/config.toml
449 run: flowey e 2 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
450 shell: bash
451 - name: create gh-release-download cache dir
452 run: flowey e 2 flowey_lib_common::download_gh_release 0
453 shell: bash
454 - name: Pre-processing cache vars
455 run: |-
456 flowey e 2 flowey_lib_common::cache 0
457 flowey v 2 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
458 flowey v 2 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
459 shell: bash
460 - id: flowey_lib_common__cache__1
461 uses: actions/cache@v4
462 with:
463 key: ${{ env.floweyvar2 }}
464 path: ${{ env.floweyvar3 }}
465 name: 'Restore cache: gh-release-download'
466 - name: download artifacts from github releases
467 run: |-
468 flowey v 2 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs:462:70' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <<EOF
469 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
470 EOF
471 flowey e 2 flowey_lib_common::cache 2
472 flowey e 2 flowey_lib_common::download_gh_release 1
473 shell: bash
474 - name: checking if packages need to be installed
475 run: flowey e 2 flowey_lib_common::install_dist_pkg 0
476 shell: bash
477 - name: installing packages
478 run: flowey e 2 flowey_lib_common::install_dist_pkg 1
479 shell: bash
480 - name: unpack protoc
481 run: |-
482 flowey e 2 flowey_lib_common::download_protoc 0
483 flowey e 2 flowey_lib_hvlite::cfg_openvmm_magicpath 0
484 shell: bash
485 - name: symlink protoc
486 run: flowey e 2 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
487 shell: bash
488 - name: add default cargo home to path
489 run: flowey e 2 flowey_lib_common::install_rust 0
490 shell: bash
491 - name: install Rust
492 run: flowey e 2 flowey_lib_common::install_rust 1
493 shell: bash
494 - name: unpack Microsoft.WSL.LxUtil.x64.zip
495 run: flowey e 2 flowey_lib_hvlite::download_lxutil 0
496 shell: bash
497 - name: move lxutil.dll into its magic folder
498 run: flowey e 2 flowey_lib_hvlite::init_openvmm_magicpath_lxutil 0
499 shell: bash
500 - name: detect active toolchain
501 run: |-
502 flowey e 2 flowey_lib_common::install_rust 2
503 flowey e 2 flowey_lib_common::cfg_cargo_common_flags 0
504 flowey e 2 flowey_lib_common::run_cargo_doc 0
505 shell: bash
506 - name: document repo for target x86_64-unknown-linux-gnu
507 run: |-
508 flowey e 2 flowey_lib_hvlite::build_rustdoc 0
509 flowey e 2 flowey_core::pipeline::artifact::publish 0
510 shell: bash
511 - name: 'validate cache entry: gh-release-download'
512 run: flowey e 2 flowey_lib_common::cache 3
513 shell: bash
514 - name: πŸŒΌπŸ“¦ Publish x64-linux-rustdoc
515 uses: actions/upload-artifact@v4
516 with:
517 name: x64-linux-rustdoc
518 path: ${{ runner.temp }}/publish_artifacts/x64-linux-rustdoc/
519 include-hidden-files: true
520 - name: 🌼🧼 Redact bootstrap var db
521 run: rm $AgentTempDirNormal/bootstrapped-flowey/job2.json
522 shell: bash
523 - name: 🌼πŸ₯Ύ Publish bootstrapped flowey
524 uses: actions/upload-artifact@v4
525 with:
526 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
527 path: ${{ runner.temp }}/bootstrapped-flowey
528 job3:
529 name: openvmm build docs gates
530 runs-on: ubuntu-latest
531 permissions:
532 contents: read
533 id-token: write
534 needs:
535 - job0
536 - job1
537 - job2
538 if: always() && github.event.pull_request.draft == false
539 env:
540 ANY_JOBS_FAILED: ${{ contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }}
541 steps:
542 - name: πŸŒΌπŸ“¦ Download artifacts
543 uses: actions/download-artifact@v4
544 with:
545 pattern: _internal-flowey-bootstrap-x86_64-linux-uid-1
546 path: ${{ runner.temp }}/used_artifacts/
547 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
548 shell: bash
549 name: πŸŒΌπŸ“¦ Add flowey to PATH
550 - name: πŸŒΌπŸ›« Initialize job
551 run: |
552 AgentTempDirNormal="${{ runner.temp }}"
553 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
554 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
555
556 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
557
558 echo '"debug"' | flowey v 3 'FLOWEY_LOG' update
559 echo "${{ runner.temp }}/work" | flowey v 3 '_internal_WORKING_DIR' --is-raw-string update
560
561 cat <<'EOF' | flowey v 3 'verbose' update
562 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
563 EOF
564 shell: bash
565 - name: Check if any jobs failed
566 run: flowey e 3 flowey_lib_hvlite::_jobs::all_good_job 0
567 shell: bash
568