From 9eb7220b7c9fe556911b609c3e8c2a6393929e2a Mon Sep 17 00:00:00 2001 From: wuhuizuo Date: Wed, 1 Jul 2026 14:08:13 +0800 Subject: [PATCH 1/3] ci: use pre-baked base images with rclone/shush pre-installed --- images/tidb-backup-manager/Dockerfile | 14 +------------- images/tidb-backup-manager/Dockerfile.e2e | 14 +------------- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/images/tidb-backup-manager/Dockerfile b/images/tidb-backup-manager/Dockerfile index 33c67597bcb..d07bb73cfc0 100644 --- a/images/tidb-backup-manager/Dockerfile +++ b/images/tidb-backup-manager/Dockerfile @@ -1,19 +1,7 @@ -FROM ghcr.io/pingcap-qe/bases/pingcap-base:v1.10.0 +FROM ghcr.io/pingcap-qe/ci/tidb-operator_backup-manager-base:v2026.6.28-7-g6f649337 ARG TARGETARCH -ARG RCLONE_VERSION=v1.71.2 -ARG SHUSH_VERSION=v1.5.5 RUN dnf install -y ca-certificates bind-utils wget nc unzip && dnf clean all -RUN wget -nv https://github.com/ncw/rclone/releases/download/${RCLONE_VERSION}/rclone-${RCLONE_VERSION}-linux-${TARGETARCH}.zip \ - && unzip rclone-${RCLONE_VERSION}-linux-${TARGETARCH}.zip \ - && mv rclone-${RCLONE_VERSION}-linux-${TARGETARCH}/rclone /usr/local/bin \ - && chmod 755 /usr/local/bin/rclone \ - && rm -rf rclone-${RCLONE_VERSION}-linux-${TARGETARCH}.zip rclone-${RCLONE_VERSION}-linux-${TARGETARCH} - -RUN wget -nv https://github.com/realestate-com-au/shush/releases/download/${SHUSH_VERSION}/shush_linux_${TARGETARCH} \ - && mv shush_linux_${TARGETARCH} /usr/local/bin/shush \ - && chmod 755 /usr/local/bin/shush - COPY --from=pingcap/tidb-lightning:v8.5.3 /tidb-lightning /tidb-lightning-ctl / COPY --from=pingcap/dumpling:v8.5.3 /dumpling /dumpling diff --git a/images/tidb-backup-manager/Dockerfile.e2e b/images/tidb-backup-manager/Dockerfile.e2e index 366e3bb9be8..1f2499c614d 100644 --- a/images/tidb-backup-manager/Dockerfile.e2e +++ b/images/tidb-backup-manager/Dockerfile.e2e @@ -1,19 +1,7 @@ -FROM ghcr.io/pingcap-qe/bases/pingcap-base:v1.10.0 +FROM ghcr.io/pingcap-qe/ci/tidb-operator_e2e-base:v2026.6.28-7-g6f649337 ARG TARGETARCH=amd64 -ARG RCLONE_VERSION=v1.71.2 -ARG SHUSH_VERSION=v1.5.5 RUN dnf install -y ca-certificates bind-utils wget nc unzip && dnf clean all -RUN wget -nv https://github.com/ncw/rclone/releases/download/${RCLONE_VERSION}/rclone-${RCLONE_VERSION}-linux-${TARGETARCH}.zip \ - && unzip rclone-${RCLONE_VERSION}-linux-${TARGETARCH}.zip \ - && mv rclone-${RCLONE_VERSION}-linux-${TARGETARCH}/rclone /usr/local/bin \ - && chmod 755 /usr/local/bin/rclone \ - && rm -rf rclone-${RCLONE_VERSION}-linux-${TARGETARCH}.zip rclone-${RCLONE_VERSION}-linux-${TARGETARCH} - -RUN wget -nv https://github.com/realestate-com-au/shush/releases/download/${SHUSH_VERSION}/shush_linux_${TARGETARCH} \ - && mv shush_linux_${TARGETARCH} /usr/local/bin/shush \ - && chmod 755 /usr/local/bin/shush - COPY --from=pingcap/tidb-lightning:v8.5.2 /tidb-lightning /tidb-lightning-ctl / COPY --from=pingcap/dumpling:v8.5.2 /dumpling / From 42a694c5fa56900e1efc18981ac6ac0711b12545 Mon Sep 17 00:00:00 2001 From: wuhuizuo Date: Wed, 1 Jul 2026 15:30:11 +0800 Subject: [PATCH 2/3] chore: remove redundant dnf install (tools pre-installed in base images) --- images/tidb-backup-manager/Dockerfile | 2 -- images/tidb-backup-manager/Dockerfile.e2e | 1 - 2 files changed, 3 deletions(-) diff --git a/images/tidb-backup-manager/Dockerfile b/images/tidb-backup-manager/Dockerfile index de9f3f8d292..2f9ea64d207 100644 --- a/images/tidb-backup-manager/Dockerfile +++ b/images/tidb-backup-manager/Dockerfile @@ -1,7 +1,5 @@ FROM ghcr.io/pingcap-qe/ci/tidb-operator_backup-manager-base:v2026.6.28-7-g6f649337 ARG TARGETARCH -RUN dnf install -y ca-certificates bind-utils wget nc unzip && dnf clean all - COPY --from=pingcap/tidb-lightning:v8.5.5 /tidb-lightning /tidb-lightning-ctl / COPY --from=pingcap/dumpling:v8.5.5 /dumpling /dumpling diff --git a/images/tidb-backup-manager/Dockerfile.e2e b/images/tidb-backup-manager/Dockerfile.e2e index ca6b22375eb..5d2b28c4ba9 100644 --- a/images/tidb-backup-manager/Dockerfile.e2e +++ b/images/tidb-backup-manager/Dockerfile.e2e @@ -1,6 +1,5 @@ FROM ghcr.io/pingcap-qe/ci/tidb-operator_e2e-base:v2026.6.28-7-g6f649337 ARG TARGETARCH=amd64 -RUN dnf install -y ca-certificates bind-utils wget nc unzip && dnf clean all COPY --from=pingcap/tidb-lightning:v8.5.2 /tidb-lightning /tidb-lightning-ctl / COPY --from=pingcap/dumpling:v8.5.2 /dumpling / From 2d17cd5ac14a11d69f2b954a288ab12e8db5cf71 Mon Sep 17 00:00:00 2001 From: wuhuizuo Date: Wed, 1 Jul 2026 15:52:07 +0800 Subject: [PATCH 3/3] ci: use pre-baked e2e-base image for e2e test image --- tests/images/e2e/Dockerfile | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/tests/images/e2e/Dockerfile b/tests/images/e2e/Dockerfile index 25d2e5a0c1d..ae3388ba48f 100644 --- a/tests/images/e2e/Dockerfile +++ b/tests/images/e2e/Dockerfile @@ -1,31 +1,6 @@ -FROM debian:bookworm-slim - -ENV KUBECTL_VERSION=v1.28.5 -ENV HELM_VERSION=v3.11.0 +FROM ghcr.io/pingcap-qe/ci/tidb-operator_e2e-base:v2026.6.28-7-g6f649337 ARG TARGETARCH - -# python is required by gcloud -RUN apt-get update && \ - apt-get install -y ca-certificates curl git openssl default-mysql-client unzip && \ - apt-get install -y python3 && \ - apt-get autoremove -y && \ - apt-get clean -y - -RUN curl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/${TARGETARCH}/kubectl \ - -o /usr/local/bin/kubectl && \ - chmod +x /usr/local/bin/kubectl && \ - curl https://get.helm.sh/helm-${HELM_VERSION}-linux-${TARGETARCH}.tar.gz \ - -o helm-${HELM_VERSION}-linux-${TARGETARCH}.tar.gz && \ - tar -zxvf helm-${HELM_VERSION}-linux-${TARGETARCH}.tar.gz && \ - mv linux-${TARGETARCH}/helm /usr/local/bin/helm && \ - rm -rf linux-${TARGETARCH} && \ - rm helm-${HELM_VERSION}-linux-${TARGETARCH}.tar.gz -RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \ - unzip awscliv2.zip && \ - ./aws/install && \ - rm -r aws awscliv2.zip -RUN curl -L "https://github.com/jetstack/cert-manager/releases/download/v1.15.1/cert-manager.yaml" -o "/cert-manager.yaml" ADD minio /minio ADD tidb-operator /charts/e2e/tidb-operator