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

jtuglu1 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 6403ab6a98d ci: pre-pull Testcontainers images in worker before unit 
tests (#19464) (#19465)
6403ab6a98d is described below

commit 6403ab6a98dbc8ada804e376237489832af34ec1
Author: Shekhar Prasad Rajak <[email protected]>
AuthorDate: Sun May 17 10:47:30 2026 +0530

    ci: pre-pull Testcontainers images in worker before unit tests (#19464) 
(#19465)
    
    Fixes #19464.
    
    Once the image is in the runner's local Docker daemon cache, KafkaContainer 
start in KafkaResource becomes a pure container-spinup (~5-15 s) instead of 
pull+spinup (~30-90 s + Docker Hub variance). The 60 s LatchableEmitter wall 
now has 4-12× more headroom.
---
 .github/workflows/worker.yml | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/.github/workflows/worker.yml b/.github/workflows/worker.yml
index 404650171ea..dce931cff39 100644
--- a/.github/workflows/worker.yml
+++ b/.github/workflows/worker.yml
@@ -86,6 +86,32 @@ jobs:
           echo "HASH=$(echo -n "${{ inputs.key }}" | sha256sum | cut -c-8)" >> 
$GITHUB_ENV
           ./.github/scripts/collect_jvm_diagnostics &
 
+      - name: Pre-pull Testcontainers images for unit tests
+        if: ${{ contains(inputs.script, 'run_unit-tests') }}
+        run: |
+          set -eu
+          images=(
+            apache/kafka:4.2.0
+            postgres:16-alpine
+            minio/minio:latest
+            hashicorp/consul:1.18
+            tabulario/iceberg-rest:1.6.0
+            localstack/localstack:4.13.1
+            mcr.microsoft.com/azure-storage/azurite:3.35.0
+            osixia/openldap:1.5.0
+            rancher/k3s:v1.35.0-k3s1
+          )
+          for image in "${images[@]}"; do
+            for attempt in 1 2 3; do
+              if docker pull --quiet "$image"; then
+                break
+              fi
+              echo "::warning ::docker pull $image failed (attempt $attempt); 
retrying in 10s"
+              sleep 10
+            done
+          done
+        timeout-minutes: 10
+
       - name: 'Execute: ${{ inputs.script }}'
         run: ${{ inputs.script }}
         timeout-minutes: 60


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to