8383
8484 - name : Publish test results
8585 if : always()
86- uses : dorny/test-reporter@v1
86+ continue-on-error : true
87+ uses : dorny/test-reporter@d61b558e8df85cb60d09ca3e5b09653b4477cea7 # v1
8788 with :
8889 name : " Test Results — Unit"
8990 path : junit-unit.xml
@@ -133,7 +134,7 @@ jobs:
133134 pip install "git+https://github.com/npow/localbatch.git@main#egg=localbatch"
134135
135136 - name : Set up minikube
136- uses : medyagh/setup-minikube@latest
137+ uses : medyagh/setup-minikube@aba8d5ff1666c72adf94ccd078b2ca12e7756382
137138 with :
138139 driver : docker
139140 cpus : 2
@@ -151,21 +152,54 @@ jobs:
151152 if : steps.image-cache.outputs.cache-hit == 'true'
152153 run : devtools/ci/load-minikube-images.sh
153154
154- - name : Cache Helm repos
155+ - name : Cache Helm repos and charts
155156 uses : actions/cache@v4
156157 with :
157- path : ~/.cache/helm
158- key : helm-${{ hashFiles('devtools/Tiltfile') }}
159- restore-keys : helm-
158+ path : |
159+ ~/.cache/helm
160+ ~/.local/share/tilt-dev/.helm
161+ key : helm-charts-${{ matrix.backend }}-${{ hashFiles('devtools/Tiltfile', 'devtools/tilt/*.tiltfile') }}
162+ restore-keys : |
163+ helm-charts-${{ matrix.backend }}-
164+ helm-charts-
160165
161166 - name : Set up Helm
162167 uses : azure/setup-helm@v4
163168
169+ - name : Cache Tilt binary
170+ id : tilt-cache
171+ uses : actions/cache@v4
172+ with :
173+ path : /usr/local/bin/tilt
174+ key : tilt-v0.33.11
175+
164176 - name : Install Tilt
177+ if : steps.tilt-cache.outputs.cache-hit != 'true'
178+ run : |
179+ for attempt in 1 2 3; do
180+ curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh \
181+ | VERSION=v0.33.11 bash && break
182+ echo "Tilt install attempt $attempt failed, retrying in 10s..."
183+ sleep 10
184+ done
185+ tilt version
186+
187+ - name : Pre-pull Helm repos (with retry)
165188 run : |
166- # Pin to the same version as devtools/Makefile to avoid extension API breaks
167- curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh \
168- | VERSION=v0.33.11 bash
189+ retry() {
190+ local cmd="$*" attempt=1
191+ until $cmd; do
192+ attempt=$((attempt + 1))
193+ if [ $attempt -gt 3 ]; then echo "Failed after 3 attempts: $cmd"; return 1; fi
194+ echo "Retry $attempt for: $cmd"
195+ sleep $((attempt * 5))
196+ done
197+ }
198+ retry helm repo add bitnami https://charts.bitnami.com/bitnami 2>/dev/null || true
199+ retry helm repo add argo https://argoproj.github.io/argo-helm 2>/dev/null || true
200+ retry helm repo add apache-airflow https://airflow.apache.org 2>/dev/null || true
201+ retry helm repo add metaflow-tools https://outerbounds.github.io/metaflow-tools 2>/dev/null || true
202+ retry helm repo update || true
169203
170204 - name : Start devstack
171205 working-directory : devtools
@@ -248,7 +282,8 @@ jobs:
248282
249283 - name : Publish test results
250284 if : always()
251- uses : dorny/test-reporter@v1
285+ continue-on-error : true
286+ uses : dorny/test-reporter@d61b558e8df85cb60d09ca3e5b09653b4477cea7 # v1
252287 with :
253288 name : " Test Results — ${{ matrix.backend }}"
254289 path : junit-${{ matrix.backend }}.xml
@@ -305,7 +340,8 @@ jobs:
305340 path : junit-artifacts/
306341
307342 - name : Publish combined test results
308- uses : dorny/test-reporter@v1
343+ continue-on-error : true
344+ uses : dorny/test-reporter@d61b558e8df85cb60d09ca3e5b09653b4477cea7 # v1
309345 with :
310346 name : " Test Results — All Backends"
311347 path : " junit-artifacts/**/*.xml"
0 commit comments