############################## # THIS FILE IS AUTOGENERATED # # DO NOT MANUALLY EDIT # ############################## name: OpenVMM Docs CI on: workflow_dispatch: inputs: verbose: description: Run with verbose output default: false required: false type: boolean push: branches: - main jobs: job0: name: build mdbook guide runs-on: ubuntu-latest permissions: contents: read id-token: write if: github.event.pull_request.draft == false steps: - run: | set -x i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y . "$HOME/.cargo/env" echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" rustup show if: runner.os == 'Linux' name: rustup (Linux) shell: bash - run: | set -x curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' name: rustup (Windows X64) shell: bash - run: | set -x curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' name: rustup (Windows ARM64) shell: bash - uses: actions/checkout@v6 with: path: flowey_bootstrap - name: Build flowey run: | set -x CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-docs-ci.yaml "$OutDirNormal/pipeline.yaml" mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ”Ž Self-check YAML run: |- ESCAPED_AGENT_TEMPDIR=$( cat <<'EOF' | sed 's/\\/\\\\/g' ${{ runner.temp }} EOF ) flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-docs-ci.yaml ci build-docs --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey echo '"debug"' | flowey v 0 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 0 '_internal_WORKING_DIR' --is-raw-string update cat <<'EOF' | flowey v 0 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/guide" echo "$AgentTempDirNormal/publish_artifacts/guide" | flowey v 0 'artifact_publish_from_guide' --is-raw-string update shell: bash - name: create gh-release-download cache dir run: flowey e 0 flowey_lib_common::download_gh_release 0 shell: bash - name: Pre-processing cache vars run: |- flowey e 0 flowey_lib_common::cache 0 flowey v 0 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs:407:72' --is-raw-string write-to-env github floweyvar2 flowey v 0 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs:406:72' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@v5 with: key: ${{ env.floweyvar2 }} path: ${{ env.floweyvar3 }} name: 'Restore cache: gh-release-download' - name: download artifacts from github releases run: |- 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 <> "$GITHUB_PATH" rustup show if: runner.os == 'Linux' name: rustup (Linux) shell: bash - run: | set -x curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' name: rustup (Windows X64) shell: bash - run: | set -x curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' name: rustup (Windows ARM64) shell: bash - uses: actions/checkout@v6 with: path: flowey_bootstrap - name: Build flowey run: | set -x CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-docs-ci.yaml "$OutDirNormal/pipeline.yaml" mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ”Ž Self-check YAML run: |- ESCAPED_AGENT_TEMPDIR=$( cat <<'EOF' | sed 's/\\/\\\\/g' ${{ runner.temp }} EOF ) flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-docs-ci.yaml ci build-docs --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe echo '"debug"' | flowey.exe v 1 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 1 '_internal_WORKING_DIR' --is-raw-string update cat <<'EOF' | flowey.exe v 1 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-rustdoc" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-rustdoc" | flowey.exe v 1 'artifact_publish_from_x64-windows-rustdoc' --is-raw-string update shell: bash - name: check if openvmm needs to be cloned run: |- flowey.exe e 1 flowey_lib_common::git_checkout 0 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 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 shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- 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 <> "$GITHUB_PATH" rustup show if: runner.os == 'Linux' name: rustup (Linux) shell: bash - run: | set -x curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' name: rustup (Windows X64) shell: bash - run: | set -x curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' name: rustup (Windows ARM64) shell: bash - uses: actions/checkout@v6 with: path: flowey_bootstrap - name: Build flowey run: | set -x CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') mkdir -p "$OutDirNormal" mv ./.github/workflows/openvmm-docs-ci.yaml "$OutDirNormal/pipeline.yaml" mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" working-directory: flowey_bootstrap shell: bash - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ”Ž Self-check YAML run: |- ESCAPED_AGENT_TEMPDIR=$( cat <<'EOF' | sed 's/\\/\\\\/g' ${{ runner.temp }} EOF ) flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-docs-ci.yaml ci build-docs --config=ci shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey echo '"debug"' | flowey v 2 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 2 '_internal_WORKING_DIR' --is-raw-string update cat <<'EOF' | flowey v 2 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-rustdoc" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-rustdoc" | flowey v 2 'artifact_publish_from_x64-linux-rustdoc' --is-raw-string update shell: bash - name: check if openvmm needs to be cloned run: |- flowey e 2 flowey_lib_common::git_checkout 0 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 flowey v 2 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 persist-credentials: ${{ env.floweyvar1 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- 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 <> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey echo '"debug"' | flowey v 3 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 3 '_internal_WORKING_DIR' --is-raw-string update cat <<'EOF' | flowey v 3 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF echo "$AgentTempDirNormal/used_artifacts/guide" | flowey v 3 'artifact_use_from_guide' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-rustdoc" | flowey v 3 'artifact_use_from_x64-linux-rustdoc' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-windows-rustdoc" | flowey v 3 'artifact_use_from_x64-windows-rustdoc' --is-raw-string update shell: bash - name: πŸ¦€ flowey rust steps run: |- flowey e 3 flowey_core::pipeline::artifact::resolve 1 flowey e 3 flowey_core::pipeline::artifact::resolve 2 flowey e 3 flowey_core::pipeline::artifact::resolve 0 shell: bash - id: flowey_lib_common__install_nodejs__0 uses: actions/setup-node@v4 with: node-version: 24.x name: Install nodejs - name: check if openvmm needs to be cloned run: |- flowey e 3 flowey_lib_common::git_checkout 0 flowey v 3 '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 floweyvar2 flowey v 3 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs:490:46' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@v6 with: fetch-depth: '1' path: repo0 persist-credentials: ${{ env.floweyvar2 }} name: checkout repo openvmm if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- 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 <