microsoft/openvmm
Publicmirrored fromhttps://github.com/microsoft/openvmmAvailable
.github/workflows/openvmm-docs-pr.yaml
560lines Β· modecode
| 1 | ############################## |
| 2 | # THIS FILE IS AUTOGENERATED # |
| 3 | # DO NOT MANUALLY EDIT # |
| 4 | ############################## |
| 5 | name: OpenVMM Docs PR |
| 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 | 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/** |
| 27 | concurrency: |
| 28 | group: ${{ github.workflow }}-${{ github.ref }} |
| 29 | cancel-in-progress: true |
| 30 | jobs: |
| 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 | |