This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm-tirx.git


The following commit(s) were added to refs/heads/main by this push:
     new 5726d0adb [CI] Relocate Jenkins Docker launcher and refresh wheel 
artifacts (#77)
5726d0adb is described below

commit 5726d0adb35445720af3ab89d579da72839e0e7e
Author: Tianqi Chen <[email protected]>
AuthorDate: Sun Oct 25 22:16:42 2026 -0400

    [CI] Relocate Jenkins Docker launcher and refresh wheel artifacts (#77)
    
    Move the Docker launcher under `ci/jenkins/docker/` alongside its
    Jenkins callers, updating repository-root resolution and path references
    while retaining the embedded same-user helper.
    
    Clear `dist/` before downloading artifacts so reused CPU, GPU and
    documentation workspaces install only the current build's wheels.
---
 ci/jenkins/common.groovy                      |  2 +-
 ci/jenkins/cpu_jenkinsfile.groovy             |  1 +
 {docker => ci/jenkins/docker}/bash.sh         | 12 ++++++------
 ci/jenkins/gpu_jenkinsfile.groovy             |  2 ++
 ci/jenkins/scripts/determine_docker_images.py |  2 +-
 5 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/ci/jenkins/common.groovy b/ci/jenkins/common.groovy
index f994d6cae..c386ab72c 100644
--- a/ci/jenkins/common.groovy
+++ b/ci/jenkins/common.groovy
@@ -24,7 +24,7 @@ image_platforms = [ci_arm: 'ARM', ci_cpu: 'CPU', ci_gpu: 
'GPU']
 enable_docker_hub_cache = true
 max_time = 180
 // Temporarily bypass image sccache wrappers and inherited compiler launchers.
-docker_run = 'docker/bash.sh --env CI --env PLATFORM --env TEST_STEP_NAME' +
+docker_run = 'ci/jenkins/docker/bash.sh --env CI --env PLATFORM --env 
TEST_STEP_NAME' +
   ' --env CC=/usr/bin/gcc --env CXX=/usr/bin/g++' +
   ' --env CMAKE_C_COMPILER_LAUNCHER= --env CMAKE_CXX_COMPILER_LAUNCHER='
 s3_bucket = 'tvm-jenkins-artifacts-prod'
diff --git a/ci/jenkins/cpu_jenkinsfile.groovy 
b/ci/jenkins/cpu_jenkinsfile.groovy
index 1f60f363c..3f143705b 100644
--- a/ci/jenkins/cpu_jenkinsfile.groovy
+++ b/ci/jenkins/cpu_jenkinsfile.groovy
@@ -51,6 +51,7 @@ stage('Test') {
       name: 'unittest: CPU', folder: 'tvm/ut-python-cpu',
       variables: ['PLATFORM=cpu', 'TEST_STEP_NAME=unittest: CPU']) {
       ci.docker_init(images.ci_cpu)
+      sh 'rm -rf dist'
       ci.download_artifacts('cpu')
       sh (
         script: """${docker_run} ${images.ci_cpu} bash -euo pipefail -c '
diff --git a/docker/bash.sh b/ci/jenkins/docker/bash.sh
similarity index 97%
rename from docker/bash.sh
rename to ci/jenkins/docker/bash.sh
index bcf6e382e..0e7064d07 100755
--- a/docker/bash.sh
+++ b/ci/jenkins/docker/bash.sh
@@ -20,16 +20,16 @@
 #
 # Start a bash, mount REPO_MOUNT_POINT to be current directory.
 #
-# Usage: docker/bash.sh [-i|--interactive] [--net=host] [-t|--tty]
+# Usage: ci/jenkins/docker/bash.sh [-i|--interactive] [--net=host] [-t|--tty]
 #          [--shell SHELL] [--mount MOUNT_DIR]
 #          [--repo-mount-point REPO_MOUNT_POINT]
 #          [--dry-run] [--name NAME] [--privileged]
 #          <DOCKER_IMAGE_NAME> [--] [COMMAND]
 #
-# Usage: docker/bash.sh <CONTAINER_NAME>
+# Usage: ci/jenkins/docker/bash.sh <CONTAINER_NAME>
 #     Starts an interactive session
 #
-# Usage2: docker/bash.sh [-i] <CONTAINER_NAME> [COMMAND]
+# Usage2: ci/jenkins/docker/bash.sh [-i] <CONTAINER_NAME> [COMMAND]
 #     Execute command in the docker image, default non-interactive
 #     With -i, execute interactively.
 #
@@ -41,7 +41,7 @@ set -euo pipefail
 ##############################################
 
 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
-REPO_DIR="$(dirname "${SCRIPT_DIR}")"
+REPO_DIR="$(cd "${SCRIPT_DIR}/../../.." && pwd -P)"
 
 DRY_RUN=false
 INTERACTIVE=false
@@ -73,7 +73,7 @@ fi
 
 function show_usage() {
     cat <<EOF
-Usage: docker/bash.sh [-i|--interactive] [--net=host] [-t|--tty]
+Usage: ci/jenkins/docker/bash.sh [-i|--interactive] [--net=host] [-t|--tty]
           [--shell SHELL] [--cpus NUM_CPUS] [--mount MOUNT_DIR]
           [--repo-mount-point REPO_MOUNT_POINT]
           [--dry-run] [--name NAME]
@@ -379,7 +379,7 @@ while (( $# )); do
             echo "Error: Unknown flag: $1" >&2
             echo "  If this flag is intended to be passed to the" >&2
             echo "  docker command, please add -- before the docker" >&2
-            echo "  command (e.g. docker/bash.sh ci_gpu -- build -j2)" >&2
+            echo "  command (e.g. ci/jenkins/docker/bash.sh ci_gpu -- build 
-j2)" >&2
             show_usage >&2
             exit 1
             ;;
diff --git a/ci/jenkins/gpu_jenkinsfile.groovy 
b/ci/jenkins/gpu_jenkinsfile.groovy
index 081f346a0..523447ee7 100644
--- a/ci/jenkins/gpu_jenkinsfile.groovy
+++ b/ci/jenkins/gpu_jenkinsfile.groovy
@@ -60,6 +60,7 @@ parallel(
         name: 'unittest: GPU', folder: 'tvm/ut-python-gpu',
         variables: ['PLATFORM=gpu', 'TEST_STEP_NAME=unittest: GPU']) {
         ci.docker_init(images.ci_gpu)
+        sh 'rm -rf dist'
         ci.download_artifacts('gpu')
         sh(
           script: """${docker_run} ${images.ci_gpu} bash -euo pipefail -c '
@@ -76,6 +77,7 @@ parallel(
       ci.with_node(instance: 'CPU-SPOT', retry_instance: 'CPU',
         name: 'Docs', folder: 'tvm/tirx-docs', variables: ['PLATFORM=gpu']) {
         ci.docker_init(images.ci_gpu)
+        sh 'rm -rf dist'
         ci.download_artifacts('gpu')
         sh(
           script: "${docker_run} --no-gpu ${images.ci_gpu} 
./tests/scripts/task_python_docs.sh",
diff --git a/ci/jenkins/scripts/determine_docker_images.py 
b/ci/jenkins/scripts/determine_docker_images.py
index 3fe8c87fb..893ac397e 100755
--- a/ci/jenkins/scripts/determine_docker_images.py
+++ b/ci/jenkins/scripts/determine_docker_images.py
@@ -75,7 +75,7 @@ def lookup_image_tag(name: str) -> str:
     """Resolve image ``name`` (e.g. ``ci_cpu``) to its tag string from the ini.
 
     Pure ini read — no Docker Hub query, no tlcpackstaging fallback. Used by
-    ``docker/bash.sh`` for local-dev image-name shortcuts where the
+    ``ci/jenkins/docker/bash.sh`` for local-dev image-name shortcuts where the
     full Hub-existence check is unnecessary.
     """
     config = configparser.ConfigParser()

Reply via email to