microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
ade3e88da56fafed47e001656d9017fb15f23194

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

555lines Β· modecode

1##############################
2# THIS FILE IS AUTOGENERATED #
3# DO NOT MANUALLY EDIT #
4##############################
5name: 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.91.1 -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.91.1
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.91.1
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 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.91.1 -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.91.1
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.91.1
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 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::resolve_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: detect active toolchain
324 run: |-
325 flowey.exe e 1 flowey_lib_common::install_rust 2
326 flowey.exe e 1 flowey_lib_common::cfg_cargo_common_flags 0
327 flowey.exe e 1 flowey_lib_common::run_cargo_doc 0
328 shell: bash
329 - name: document repo for target x86_64-pc-windows-msvc
330 run: |-
331 flowey.exe e 1 flowey_lib_hvlite::build_rustdoc 0
332 flowey.exe e 1 flowey_core::pipeline::artifact::publish 0
333 shell: bash
334 - name: 'validate cache entry: gh-release-download'
335 run: flowey.exe e 1 flowey_lib_common::cache 3
336 shell: bash
337 - name: πŸŒΌπŸ“¦ Publish x64-windows-rustdoc
338 uses: actions/upload-artifact@v4
339 with:
340 name: x64-windows-rustdoc
341 path: ${{ runner.temp }}/publish_artifacts/x64-windows-rustdoc/
342 include-hidden-files: true
343 job2:
344 name: build and check docs [x64-linux]
345 runs-on: ubuntu-latest
346 permissions:
347 contents: read
348 id-token: write
349 if: github.event.pull_request.draft == false
350 steps:
351 - run: |
352 set -x
353 i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done;
354 sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y
355 curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.91.1 -y
356 . "$HOME/.cargo/env"
357 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
358 rustup show
359 if: runner.os == 'Linux'
360 name: rustup (Linux)
361 shell: bash
362 - run: |
363 set -x
364 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init
365 ./rustup-init.exe -y --default-toolchain=1.91.1
366 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
367 if: runner.os == 'Windows' && runner.arch == 'X64'
368 name: rustup (Windows X64)
369 shell: bash
370 - run: |
371 set -x
372 curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init
373 ./rustup-init.exe -y --default-toolchain=1.91.1
374 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH
375 if: runner.os == 'Windows' && runner.arch == 'ARM64'
376 name: rustup (Windows ARM64)
377 shell: bash
378 - uses: actions/checkout@v4
379 with:
380 path: flowey_bootstrap
381 - name: Build flowey
382 run: |
383 set -x
384 CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci
385 OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
386 mkdir -p "$OutDirNormal"
387 mv ./.github/workflows/openvmm-docs-pr.yaml "$OutDirNormal/pipeline.yaml"
388 mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey"
389 working-directory: flowey_bootstrap
390 shell: bash
391 - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH
392 shell: bash
393 name: πŸŒΌπŸ“¦ Add flowey to PATH
394 - name: πŸŒΌπŸ”Ž Self-check YAML
395 run: |-
396 ESCAPED_AGENT_TEMPDIR=$(
397 cat <<'EOF' | sed 's/\\/\\\\/g'
398 ${{ runner.temp }}
399 EOF
400 )
401 flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-docs-pr.yaml ci build-docs --config=pr
402 shell: bash
403 - name: πŸŒΌπŸ›« Initialize job
404 run: |
405 AgentTempDirNormal="${{ runner.temp }}"
406 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
407 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
408
409 chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey
410
411 echo '"debug"' | flowey v 2 'FLOWEY_LOG' update
412 echo "${{ runner.temp }}/work" | flowey v 2 '_internal_WORKING_DIR' --is-raw-string update
413
414 cat <<'EOF' | flowey v 2 'verbose' update
415 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
416 EOF
417 mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-rustdoc"
418 echo "$AgentTempDirNormal/publish_artifacts/x64-linux-rustdoc" | flowey v 2 'artifact_publish_from_x64-linux-rustdoc' --is-raw-string update
419 shell: bash
420 - name: check if openvmm needs to be cloned
421 run: |-
422 flowey e 2 flowey_lib_common::git_checkout 0
423 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
424 flowey v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:470:46' write-to-env github FLOWEY_CONDITION
425 shell: bash
426 - id: flowey_lib_common__git_checkout__1
427 uses: actions/checkout@v4
428 with:
429 fetch-depth: '1'
430 path: repo0
431 persist-credentials: ${{ env.floweyvar1 }}
432 name: checkout repo openvmm
433 if: ${{ fromJSON(env.FLOWEY_CONDITION) }}
434 - name: report cloned repo directories
435 run: |-
436 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
437 ${{ github.workspace }}
438 EOF
439 flowey e 2 flowey_lib_common::git_checkout 3
440 flowey e 2 flowey_lib_hvlite::git_checkout_openvmm_repo 0
441 shell: bash
442 - name: set '-Dwarnings' in .cargo/config.toml
443 run: flowey e 2 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0
444 shell: bash
445 - name: create gh-release-download cache dir
446 run: flowey e 2 flowey_lib_common::download_gh_release 0
447 shell: bash
448 - name: Pre-processing cache vars
449 run: |-
450 flowey e 2 flowey_lib_common::cache 0
451 flowey v 2 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2
452 flowey v 2 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3
453 shell: bash
454 - id: flowey_lib_common__cache__1
455 uses: actions/cache@v4
456 with:
457 key: ${{ env.floweyvar2 }}
458 path: ${{ env.floweyvar3 }}
459 name: 'Restore cache: gh-release-download'
460 - name: download artifacts from github releases
461 run: |-
462 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
463 ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }}
464 EOF
465 flowey e 2 flowey_lib_common::cache 2
466 flowey e 2 flowey_lib_common::download_gh_release 1
467 shell: bash
468 - name: checking if packages need to be installed
469 run: flowey e 2 flowey_lib_common::install_dist_pkg 0
470 shell: bash
471 - name: installing packages
472 run: flowey e 2 flowey_lib_common::install_dist_pkg 1
473 shell: bash
474 - name: unpack protoc
475 run: |-
476 flowey e 2 flowey_lib_common::resolve_protoc 0
477 flowey e 2 flowey_lib_hvlite::cfg_openvmm_magicpath 0
478 shell: bash
479 - name: symlink protoc
480 run: flowey e 2 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0
481 shell: bash
482 - name: add default cargo home to path
483 run: flowey e 2 flowey_lib_common::install_rust 0
484 shell: bash
485 - name: install Rust
486 run: flowey e 2 flowey_lib_common::install_rust 1
487 shell: bash
488 - name: detect active toolchain
489 run: |-
490 flowey e 2 flowey_lib_common::install_rust 2
491 flowey e 2 flowey_lib_common::cfg_cargo_common_flags 0
492 flowey e 2 flowey_lib_common::run_cargo_doc 0
493 shell: bash
494 - name: document repo for target x86_64-unknown-linux-gnu
495 run: |-
496 flowey e 2 flowey_lib_hvlite::build_rustdoc 0
497 flowey e 2 flowey_core::pipeline::artifact::publish 0
498 shell: bash
499 - name: 'validate cache entry: gh-release-download'
500 run: flowey e 2 flowey_lib_common::cache 3
501 shell: bash
502 - name: πŸŒΌπŸ“¦ Publish x64-linux-rustdoc
503 uses: actions/upload-artifact@v4
504 with:
505 name: x64-linux-rustdoc
506 path: ${{ runner.temp }}/publish_artifacts/x64-linux-rustdoc/
507 include-hidden-files: true
508 - name: 🌼🧼 Redact bootstrap var db
509 run: rm $AgentTempDirNormal/bootstrapped-flowey/job2.json
510 shell: bash
511 - name: 🌼πŸ₯Ύ Publish bootstrapped flowey
512 uses: actions/upload-artifact@v4
513 with:
514 name: _internal-flowey-bootstrap-x86_64-linux-uid-1
515 path: ${{ runner.temp }}/bootstrapped-flowey
516 job3:
517 name: openvmm build docs gates
518 runs-on: ubuntu-latest
519 permissions:
520 contents: read
521 id-token: write
522 needs:
523 - job0
524 - job1
525 - job2
526 if: always() && github.event.pull_request.draft == false
527 env:
528 ANY_JOBS_FAILED: ${{ contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }}
529 steps:
530 - name: πŸŒΌπŸ“¦ Download artifacts
531 uses: actions/download-artifact@v4
532 with:
533 pattern: _internal-flowey-bootstrap-x86_64-linux-uid-1
534 path: ${{ runner.temp }}/used_artifacts/
535 - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH
536 shell: bash
537 name: πŸŒΌπŸ“¦ Add flowey to PATH
538 - name: πŸŒΌπŸ›« Initialize job
539 run: |
540 AgentTempDirNormal="${{ runner.temp }}"
541 AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|')
542 echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV
543
544 chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey
545
546 echo '"debug"' | flowey v 3 'FLOWEY_LOG' update
547 echo "${{ runner.temp }}/work" | flowey v 3 '_internal_WORKING_DIR' --is-raw-string update
548
549 cat <<'EOF' | flowey v 3 'verbose' update
550 ${{ inputs.verbose != '' && inputs.verbose || 'false' }}
551 EOF
552 shell: bash
553 - name: Check if any jobs failed
554 run: flowey e 3 flowey_lib_hvlite::_jobs::all_good_job 0
555 shell: bash
556