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()