@@ -548,6 +548,53 @@ jobs:
548548 - name : Build Apache Site
549549 run : site/bin/create-static-site.sh
550550
551+ test-site-guides :
552+ runs-on : ubuntu-latest
553+ steps :
554+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
555+ with :
556+ persist-credentials : false
557+ - name : Set up JDK 21
558+ uses : actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
559+ with :
560+ java-version : ' 21'
561+ distribution : ' temurin'
562+ - uses : actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
563+ with :
564+ python-version : ' 3.14'
565+ - name : Setup test environment
566+ uses : ./.github/actions/setup-test-env
567+
568+ - name : Test site testing
569+ working-directory : site/it
570+ run : |
571+ echo "::group::Setup"
572+ python3 -m pip install --upgrade pip
573+ python3 -m venv .venv
574+ . .venv/bin/activate
575+ UV_VERSION="$(cat pyproject.toml | grep -A1 tool.uv | grep -v tool.uv | grep required-version | sed 's/required-version *= *"\([^"]*\)".*/\1/')"
576+ pip install "uv$UV_VERSION"
577+ uv sync --all-packages
578+ echo "::endgroup::"
579+ echo "::group::pytest"
580+ pytest
581+ echo "::endgroup::"
582+
583+ - name : Free disk space
584+ uses : ./.github/actions/free-disk-space
585+ - name : Prepare Gradle build cache
586+ uses : ./.github/actions/ci-incr-build-cache-prepare
587+ - name : Guide testing
588+ working-directory : site
589+ run : it/markdown-testing.py
590+ - name : Archive test results
591+ uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
592+ if : always()
593+ with :
594+ name : upload-guides-test-artifacts
595+ path : |
596+ site/it/build/tests/**
597+
551598 store-gradle-cache :
552599 name : Store Gradle Cache
553600 runs-on : ubuntu-24.04
@@ -590,6 +637,7 @@ jobs:
590637 - regtest
591638 - markdown-link-check
592639 - site
640+ - test-site-guides
593641 # Always run this job, even if a "needed" job fails. Without this one, GitHub will not run
594642 # this job and that yields "Success" to the branch protection rule, which is wrong.
595643 # Potential results for each "needed" job are: `success`, `failure`, `cancelled`, `skipped`.
0 commit comments