Skip to content

[CI] Update images to 20260226-030010-8c259a38#18827

Draft
mshr-h wants to merge 8 commits intoapache:mainfrom
mshr-h:ci-tag-20260226-030010-8c259a38
Draft

[CI] Update images to 20260226-030010-8c259a38#18827
mshr-h wants to merge 8 commits intoapache:mainfrom
mshr-h:ci-tag-20260226-030010-8c259a38

Conversation

@mshr-h
Copy link
Contributor

@mshr-h mshr-h commented Feb 26, 2026

Update the CI docker images to include recent changes in #18812 and #18817

Also includes local CI maintenance:

  • JVM packaging/runtime: add runtime.libdir and pass TVM_BUILD_PATH for non-default build directories.
  • CI scripts: switch pip usage to uv pip.
  • Cleanups: remove stale local CI targets (minimal, hexagon, adreno,frontend), delete unused scripts, and drop legacy config toggles.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @mshr-h, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the CI docker images to incorporate recent changes from other PRs, ensuring the CI environment is up-to-date. It also refactors the JVM build system for better consistency in library path management, migrates Python package installations in CI scripts to the faster uv tool, and streamlines the overall CI test configurations by removing outdated or less relevant tasks.

Highlights

  • CI Image Update: The base CI docker image tag has been updated to 20260225-054408-f8dc0fb4 to include recent changes from related pull requests.
  • JVM Build System Refactor: The JVM build process has been refactored to introduce and utilize a new runtime.libdir property, ensuring consistent referencing of the TVM runtime library across Maven assembly and native linker configurations.
  • Python Package Manager Migration: Several CI scripts responsible for documentation, integration, nightly, unit tests, and linting have been updated to use uv pip install instead of python3 -m pip install for improved performance.
  • CI Test Configuration Streamlining: Various CI test configurations and their associated scripts, including those for frontend, minimal, Hexagon, Adreno, and i386 builds, have been removed or simplified to reduce CI overhead and focus on currently supported and active development areas.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • Makefile
    • Added -Druntime.libdir="$(TVM_BUILD_PATH)" to jvmpkg and jvminstall Maven commands.
  • ci/jenkins/docker-images.ini
    • Updated ci_tag from 20260219-160550-72f51851 to 20260225-054408-f8dc0fb4.
  • jvm/assembly/linux-x86_64/src/main/assembly/assembly.xml
    • Changed libtvm_runtime.so source path from ../../../build/libtvm_runtime.so to ${runtime.libdir}/libtvm_runtime.so.
  • jvm/assembly/osx-x86_64/src/main/assembly/assembly.xml
    • Changed libtvm_runtime.dylib source path from ../../../build/libtvm_runtime.dylib to ${runtime.libdir}/libtvm_runtime.dylib.
  • jvm/core/pom.xml
    • Updated libtvm.so.path property in Surefire plugin configuration from ${project.parent.basedir}/../build/${libtvm.so.filename} to ${runtime.libdir}/${libtvm.so.filename}.
  • jvm/native/linux-x86_64/pom.xml
    • Updated linker option -L${project.parent.basedir}/../../build/ to -L${runtime.libdir}.
  • jvm/native/osx-x86_64/pom.xml
    • Updated linker option -L${project.parent.basedir}/../../build/ to -L${runtime.libdir}.
  • jvm/pom.xml
    • Added new property <runtime.libdir>${project.basedir}/../build</runtime.libdir>.
  • tests/scripts/ci.py
    • Replaced python3 -m pip install with uv pip install in the docs function's extra_setup.
    • Added TVM_BUILD_PATH to environment variables in the fn function.
    • Removed 'frontend' test configuration from GPU and CPU test groups.
    • Removed the entire 'minimal' command group.
    • Removed the entire 'hexagon' command group.
    • Removed the entire 'adreno' command group.
  • tests/scripts/task_config_build_arm.sh
    • Removed USE_ARM_COMPUTE_LIB and USE_ARM_COMPUTE_LIB_GRAPH_EXECUTOR CMake settings.
  • tests/scripts/task_config_build_cpu.sh
    • Removed USE_ARM_COMPUTE_LIB CMake setting.
    • Simplified TFLite configuration by removing conditional logic and directly setting USE_TFLITE "/opt/tflite".
  • tests/scripts/task_config_build_i386.sh
    • Removed the file.
  • tests/scripts/task_lint.sh
    • Replaced pip install pre-commit with uv pip install pre-commit.
  • tests/scripts/task_mypy.sh
    • Removed the file.
  • tests/scripts/task_python_docs.sh
    • Replaced python3 -m pip install with uv pip install for tvm-ffi installation.
  • tests/scripts/task_python_integration.sh
    • Replaced python3 -m pip install with uv pip install for tvm-ffi installation.
  • tests/scripts/task_python_nightly.sh
    • Replaced python3 -m pip install with uv pip install for tvm-ffi installation.
  • tests/scripts/task_python_unittest.sh
    • Replaced python3 -m pip install with uv pip install for tvm-ffi installation.
  • tests/scripts/task_web_wasm.sh
    • Replaced python3 -m pip install with uv pip install for tvm-ffi installation.
Activity
  • No specific activity (comments, reviews, progress) has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates CI docker images and refactors parts of the build and CI scripts. The changes include:

  • Updating the docker image tag in ci/jenkins/docker-images.ini.
  • Refactoring the JVM build to use a configurable runtime.libdir property, removing hardcoded build paths from pom.xml files. This is a good improvement for maintainability.
  • Switching from pip to the faster uv pip installer in several CI scripts.
  • Cleaning up CI scripts by removing several commands and obsolete build configurations.

My review focuses on an introduced redundancy in the Makefile. I've suggested removing an apparently obsolete Maven property. The rest of the changes look good and seem to improve the CI infrastructure.

mvn clean package -P$(JVM_PKG_PROFILE) -Dcxx="$(CXX)" \
-Dcflags="$(PKG_CFLAGS)" -Dldflags="$(PKG_LDFLAGS)" \
-Dcurrent_libdir="$(TVM_BUILD_PATH)" $(JVM_TEST_ARGS))
-Dcurrent_libdir="$(TVM_BUILD_PATH)" -Druntime.libdir="$(TVM_BUILD_PATH)" $(JVM_TEST_ARGS))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The current_libdir property seems to be obsolete now that runtime.libdir has been introduced and is used across the pom.xml files. To avoid redundancy and improve clarity, consider removing the -Dcurrent_libdir argument.

			-Druntime.libdir="$(TVM_BUILD_PATH)" $(JVM_TEST_ARGS))

mvn install -P$(JVM_PKG_PROFILE) -Dcxx="$(CXX)" \
-Dcflags="$(PKG_CFLAGS)" -Dldflags="$(PKG_LDFLAGS)" \
-Dcurrent_libdir="$(TVM_BUILD_PATH)" $(JVM_TEST_ARGS))
-Dcurrent_libdir="$(TVM_BUILD_PATH)" -Druntime.libdir="$(TVM_BUILD_PATH)" $(JVM_TEST_ARGS))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Similar to the jvmpkg target, the current_libdir property seems to be obsolete here as well. It would be cleaner to remove it.

			-Druntime.libdir="$(TVM_BUILD_PATH)" $(JVM_TEST_ARGS))

@mshr-h mshr-h force-pushed the ci-tag-20260226-030010-8c259a38 branch from 3aee22f to 826c764 Compare February 26, 2026 06:31
- Add configurable `runtime.libdir` for JVM Maven modules
- Replace hardcoded `build` paths in native link, core test runtime, and assembly packaging
- Pass `-Druntime.libdir=$(TVM_BUILD_PATH)` from `make jvmpkg/jvminstall`
- Export `TVM_BUILD_PATH` in local CI docker env to align with `build-gpu` flows
@mshr-h mshr-h force-pushed the ci-tag-20260226-030010-8c259a38 branch from 826c764 to d5f35c6 Compare February 26, 2026 06:32
@mshr-h mshr-h changed the title [CI] Update images to 20260226-030010-8c259a38 [CI] Update images to 20260226-030010-8c259a38 Feb 26, 2026
@mshr-h
Copy link
Contributor Author

mshr-h commented Feb 26, 2026

local ci script (tests/scripts/ci.py) should work fine now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant