Skip to content

Commit b6e9cb3

Browse files
committed
Use cluster start instead of cluster controller restart for CI
`cluster controller restart` first tries to tunnel to the existing controller, which hangs for 90s when the namespace doesn't exist (cold start). On K8s, `restart_controller()` just delegates to `start_controller()` anyway, so `cluster start` achieves the same result without the tunnel overhead.
1 parent 4c66d88 commit b6e9cb3

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

.github/workflows/iris-coreweave-ci.yaml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,16 +87,18 @@ jobs:
8787
export KUBECONFIG=~/.kube/coreweave-iris
8888
kubectl delete pods -n "$IRIS_NAMESPACE" -l iris.managed=true --ignore-not-found || true
8989
90-
# Rebuild images and restart the controller. If no controller exists yet
91-
# (first run), this falls back to a fresh start.
92-
- name: Restart controller
90+
# Rebuild images and (re)start the controller. `cluster start` is fully
91+
# idempotent on K8s: it applies namespace/RBAC/ConfigMap/Deployment/Service
92+
# and triggers a rollout restart, so both cold starts and warm restarts
93+
# work without needing to tunnel to an existing controller first.
94+
- name: Start controller
9395
env:
9496
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
9597
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
9698
run: |
9799
cd lib/iris && uv run --group dev iris -v \
98100
--config=examples/coreweave-ci.yaml \
99-
cluster controller restart
101+
cluster start
100102
101103
- name: Run integration tests
102104
env:
@@ -111,7 +113,7 @@ jobs:
111113
112114
IRIS_CONTROLLER_URL="http://localhost:10000"
113115
114-
# Controller deployment is already confirmed ready by `controller restart`;
116+
# Controller deployment is already confirmed ready by `cluster start`;
115117
# this just waits for the port-forward to be usable.
116118
HEALTHY=false
117119
for i in $(seq 1 60); do

0 commit comments

Comments
 (0)