microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
8767377a25a2ba699981c9fabd6ff06a018443da

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

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