microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
7c3a527ffe19338b7bec2a98849f641769c7b569

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

590lines Β· modecode

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