[Docker] Bump CI image deps: sphinx-book-theme + z3-static#19835
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the Sphinx documentation setup in the Docker installation scripts. Specifically, it removes the tlcpack-sphinx-addon package from both the general Python package installation and the Sphinx installation scripts. Additionally, it replaces the sphinx_rtd_theme with sphinx-book-theme and pydata-sphinx-theme in the Sphinx installation script. There are no review comments, and I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Bump the CI image Python dependencies, batched into one docker rebuild: Docs theme (for the sphinx-book-theme migration): - ubuntu_install_sphinx.sh: replace sphinx_rtd_theme + tlcpack-sphinx-addon with sphinx-book-theme==1.1.4 + pydata-sphinx-theme==0.15.4. 1.1.4 (not 1.2.0) is used because it supports both Sphinx 8.1.3 (sphinx>=6.1, no upper bound) and the image's Python 3.10 (requires-python>=3.9); 1.2.0 requires Python>=3.11. 1.1.4 hard-pins pydata-sphinx-theme==0.15.4. - ubuntu_install_python_package.sh: drop the now-unused tlcpack-sphinx-addon pin. Z3 prover: - ubuntu_install_python_package.sh: add z3-static==4.16.0.post1 for the optional Z3-backed Analyzer proving. This is the docker-bump step: after it merges and the rebuilt image is published, ci/jenkins/docker-images.ini is pointed at the new tag, after which the docs/conf.py book-theme switch (PR apache#19828) can build the docs.
75dcfd2 to
3fba8aa
Compare
The CI image already ships sphinx-book-theme==1.1.4 (docker/install/ubuntu_install_sphinx.sh, added in apache#19835), which builds cleanly under Sphinx 8.1.3. Switch the default html_theme to it with book-theme options; keep the tlcpack layout overrides scoped to the RTD theme so they don't clobber the book theme.
…df5 (#19828) This pr migrates the documentation site from sphinx_rtd_theme to sphinx-book-theme (pydata-sphinx-theme based). docs/conf.py: - html_theme = "sphinx_book_theme"; drop the dead TVM_THEME/READTHEDOCS indirection that always resolved to sphinx_rtd_theme. - Replace the RTD-only html_theme_options ({"logo_only": True}) with book-theme options: repository_url/branch + path_to_docs driving the repository/edit/source/issue buttons, GitHub + TVM-home icon_links, and an extra_footer with the Community/Download/Docs links, ASF dropdown, and Apache trademark notice (the copyright line is rendered natively by the theme, not duplicated). - Remove the tlcpack_sphinx_addon import and its templates_path/html_static_path injection, plus the now-unused html_context header/footer machinery and fixup_tutorials. - sphinx_gallery_conf["show_signature"] = False to drop the "Gallery generated by Sphinx-Gallery" line. - Remove the dead docs/_static/css/tvm_theme.css (RTD-only selectors, never linked). CI enablement folded into this PR: - ci/jenkins/docker-images.ini bumps CI images to 20260619-214849-4174cdf5, built from #19835's docs dependency change (sphinx-book-theme==1.1.4 + pydata-sphinx-theme==0.15.4, without tlcpack-sphinx-addon). - CMakeLists.txt and pyproject.toml temporarily set USE_Z3=OFF by default to avoid the current z3-static link failure in CI. tests/scripts/ci.py and docs/README.md are reconciled to the ci-gpu docs stack: Sphinx 8.1.3, sphinx-book-theme==1.1.4, pydata-sphinx-theme==0.15.4, and matching docs packages. Preserved in the footer: ASF dropdown, Community/Download/Docs links, copyright, and Apache trademark notice. Intentionally dropped (no book-theme equivalent): the branded top nav bar, the version_prefixes dropdown (which did not render on the deployed site), and the tlcpack search-summary snippet. sphinx-gallery's own sg_gallery.css is unaffected, so tutorial thumbnail grids still render.
apache#19828 flipped the USE_Z3 default from AUTO to OFF. Now that the CI image ships z3-static (apache#19835), restore AUTO so the Z3-backed Analyzer proving is auto-enabled when z3 is available and silently skipped otherwise.
apache#19828 disabled Z3 in two places: the USE_Z3 default in CMakeLists.txt (AUTO -> OFF) and the wheel build define in pyproject.toml (USE_Z3 ON -> OFF). Restore AUTO in both so the Z3-backed Analyzer proving is auto-enabled when z3-static is available (now shipped in the CI image, apache#19835) and silently skipped otherwise.
apache#19828 disabled Z3 (USE_Z3 AUTO->OFF in CMakeLists.txt and the pyproject wheel build) to dodge a build failure. While Z3 stayed disabled, PrimExprNode::ty became a method, leaving two stale field accesses in z3_prover.cc's IsZ3SupportedExpr (only compiled under TVM_USE_Z3): fix expr->ty -> expr->ty(). Restore USE_Z3 AUTO so the Z3-backed Analyzer proving builds again when z3-static is available (now shipped in the CI image, apache#19835).
apache#19828 disabled Z3 (USE_Z3 AUTO->OFF in CMakeLists.txt and the pyproject wheel build) to dodge a build failure. While Z3 stayed disabled, PrimExprNode::ty became a method, leaving two stale field accesses in z3_prover.cc's IsZ3SupportedExpr (only compiled under TVM_USE_Z3): fix expr->ty -> expr->ty(). Restore USE_Z3 AUTO so the Z3-backed Analyzer proving builds again when z3-static is available (now shipped in the CI image, apache#19835).
…(AUTO) Two related changes, batched because the new CI image is what makes Z3 usable again: 1. Switch CI to the Ubuntu 24.04 (noble) images. Bump ci_tag in ci/jenkins/docker-images.ini to 20260629-192919-24bbfd2e -- the images built from apache#19893 (ci_cpu/ci_arm/ci_wasm/ci_gpu on Ubuntu 24.04, whose default g++ is gcc-13, giving full C++20 support). 2. Re-enable Z3 (AUTO). apache#19828 temporarily set USE_Z3=OFF (in CMakeLists.txt and the pyproject wheel build) to dodge a z3-static build failure. The CI image now ships z3-static (apache#19835), so this restores USE_Z3=AUTO: the Z3-backed Analyzer proving is enabled when z3-static is available and silently skipped otherwise. While Z3 stayed disabled, PrimExprNode::ty became a method, leaving two stale field accesses in z3_prover.cc's IsZ3SupportedExpr (only compiled under TVM_USE_Z3). Fixed expr->ty -> expr->ty(). Verification: - The Ubuntu 24.04 images (apache#19893) built successfully for ci_cpu/ci_arm/ ci_wasm/ci_gpu (the GPU image includes ROCm 6.4.4 and the CUDA 24.04 base). - Re-enabling Z3 was validated with a build-only wheel run: all four wheels (Linux x86_64/aarch64 manylinux_2_28, macOS arm64, Windows) build green with z3-static compiled and linked, confirming the earlier z3-static link concern is resolved on the current toolchain.
This pr bumps the CI image Python dependencies, batched into one docker rebuild:
Docs theme (for the sphinx-book-theme migration):
ubuntu_install_sphinx.sh: replacesphinx_rtd_theme+tlcpack-sphinx-addonwithsphinx-book-theme==1.1.4+pydata-sphinx-theme==0.15.4. 1.1.4 (not 1.2.0) is used because it supports both Sphinx 8.1.3 (sphinx>=6.1, no upper bound) and the image's Python 3.10 (requires-python>=3.9); 1.2.0 requires Python>=3.11. 1.1.4 hard-pinspydata-sphinx-theme==0.15.4.ubuntu_install_python_package.sh: drop the now-unusedtlcpack-sphinx-addonpin.Z3 prover:
ubuntu_install_python_package.sh: addz3-static==4.16.0.post1for the optional Z3-backed Analyzer proving.