microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
6375d9f39accfc9cf61f5c2a561ecd12f53055b8

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

602lines Β· modecode

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