microsoft/openvmm
Publicmirrored fromhttps://github.com/microsoft/openvmmAvailable
.github/workflows/openvmm-docs-ci.yaml
590lines Β· modecode
| 1 | ############################## |
| 2 | # THIS FILE IS AUTOGENERATED # |
| 3 | # DO NOT MANUALLY EDIT # |
| 4 | ############################## |
| 5 | name: OpenVMM Docs CI |
| 6 | on: |
| 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 |
| 17 | jobs: |
| 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: 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.90.0 -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.90.0 |
| 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.90.0 |
| 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:113: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 |