@@ -50,11 +50,11 @@ jobs:
5050 unlink nix-envs || true
5151 nix build --show-trace --file . push --out-link nix-envs
5252 ./nix-envs/bin/push
53- - name : Build and push amd64 lix image
53+ - name : Build and push amd64 nix image
5454 run : |
55- unlink nix-lix || true
56- nix build --show-trace --file . lixImage .pushArch.x86_64-linux --out-link nix-lix
57- ./nix-lix /bin/push-lix -x86_64-linux
55+ unlink nix-nix || true
56+ nix build --show-trace --file . nixImage .pushArch.x86_64-linux --out-link nix-nix
57+ ./nix-nix /bin/push-nix -x86_64-linux
5858 build-arm64 :
5959 runs-on : ubuntu-24.04-arm
6060 steps :
@@ -71,11 +71,11 @@ jobs:
7171 unlink nix-envs || true
7272 nix build --show-trace --file . push --out-link nix-envs
7373 ./nix-envs/bin/push
74- - name : Build and push arm64 lix image
74+ - name : Build and push arm64 nix image
7575 run : |
76- unlink nix-lix || true
77- nix build --show-trace --file . lixImage .pushArch.aarch64-linux --out-link nix-lix
78- ./nix-lix /bin/push-lix -aarch64-linux
76+ unlink nix-nix || true
77+ nix build --show-trace --file . nixImage .pushArch.aarch64-linux --out-link nix-nix
78+ ./nix-nix /bin/push-nix -aarch64-linux
7979 build-manifests :
8080 needs : [build-amd64, build-arm64]
8181 runs-on : ubuntu-latest
@@ -88,11 +88,11 @@ jobs:
8888 nixbuild_key : ${{ secrets.NIXBUILD_KEY }}
8989 github_token : ${{ secrets.GITHUB_TOKEN }}
9090 cache_key : build-manifests
91- - name : Create lix multi-arch manifest
91+ - name : Create nix multi-arch manifest
9292 run : |
9393 unlink nix-manifest || true
94- nix build --show-trace --file . lixImage .pushManifest --out-link nix-manifest
95- ./nix-manifest/bin/push-lix -manifest
94+ nix build --show-trace --file . nixImage .pushManifest --out-link nix-manifest
95+ ./nix-manifest/bin/push-nix -manifest
9696 - name : Build and push scratch image
9797 run : |
9898 unlink nix-scratches || true
@@ -122,13 +122,13 @@ jobs:
122122 ./result/bin/kubenixDeploy --yes
123123 - name : Wait for nix-csi node daemonset
124124 run : |
125- kubectl rollout status daemonset -l app.kubernetes.io/component=node -n nixkube --timeout=60s
125+ kubectl rollout status daemonset -l app.kubernetes.io/component=node -n nixkube --timeout=180s
126126 - name : Wait for nix-csi cache pod
127127 run : |
128- kubectl wait --for=condition=ready pod -l app.kubernetes.io/component=cache -n nixkube --timeout=60s
128+ kubectl wait --for=condition=ready pod -l app.kubernetes.io/component=pynixd -n nixkube --timeout=180s
129129 - name : Wait for test workload
130130 run : |
131- kubectl wait --for=condition=complete job/flake-hello job/expr-hello job/path-hello job/nri-hello-ro job/nri-hello-rw -n nixkube --timeout=120s
131+ kubectl wait --for=condition=complete job/flake-hello job/expr-hello job/path-hello job/nri-hello-ro job/nri-hello-rw -n nixkube --timeout=300s
132132 - name : Validate success events
133133 run : |
134134 echo "=== Checking NixVolumeMount events ==="
@@ -151,7 +151,7 @@ jobs:
151151 - name : Delete jobs and verify CSI cleanup
152152 run : |
153153 kubectl delete job flake-hello expr-hello path-hello invalid-storepath-hello invalid-flake-hello invalid-expr-hello nri-hello-ro nri-hello-rw -n nixkube
154- kubectl wait --for=delete pod -l "job-name in (flake-hello,expr-hello,path-hello,invalid-storepath-hello,invalid-flake-hello,invalid-expr-hello,nri-hello-ro,nri-hello-rw)" -n nixkube --timeout=60s
154+ kubectl wait --for=delete pod -l "job-name in (flake-hello,expr-hello,path-hello,invalid-storepath-hello,invalid-flake-hello,invalid-expr-hello,nri-hello-ro,nri-hello-rw)" -n nixkube --timeout=120s
155155 - name : Validate error events
156156 run : |
157157 echo "=== Checking error events ==="
@@ -171,45 +171,12 @@ jobs:
171171 - name : Print node logs
172172 run : |
173173 echo "=== Node pod logs ==="
174- kubectl logs -l app.kubernetes.io/component=node -n nixkube --tail -1
175- - name : Cluster state all
176- if : failure()
177- run : |
178- echo "=== Cluster state all ==="
179- kubectl get all -A || true
180- - name : Cluster state configmaps
181- if : failure()
182- run : |
183- echo "=== Cluster configmaps ==="
184- kubectl get configmaps -A || true
185- - name : Cluster state secrets
186- if : failure()
187- run : |
188- kubectl get secrets -A || true
189- - name : Cache
190- if : failure()
191- run : |
192- kubectl logs -l app.kubernetes.io/component=cache -n nixkube --tail -1 || true
193- kubectl describe pod -l app.kubernetes.io/component=cache -n nixkube || true
194- - name : Node
195- if : failure()
196- run : |
197- kubectl logs -l app.kubernetes.io/component=node -n nixkube --tail -1 || true
198- kubectl describe pod -l app.kubernetes.io/component=node -n nixkube || true
199- - name : Init
200- if : failure()
201- run : |
202- kubectl logs -l app.kubernetes.io/component=init -n nixkube --tail -1 || true
203- - name : Events
204- if : failure()
205- run : |
206- kubectl get events -n nixkube --sort-by='.lastTimestamp'
207- - name : Troubleshoot with upterm
174+ kubectl logs -l app.kubernetes.io/component=node -n nixkube --tail=50 --timestamps
175+ - name : Debug on failure
208176 if : failure()
209- uses : owenthereal/action-upterm@main
210- with :
211- limit-access-to-actor : true
212- wait-timeout-minutes : 5
177+ env :
178+ DS_API : ${{ secrets.DS_API }}
179+ run : nix run --file . ci-debug || true
213180 test-kind-nocache :
214181 needs : build-manifests
215182 runs-on : ubuntu-latest
@@ -233,41 +200,23 @@ jobs:
233200 ./result/bin/kubenixDeploy --yes
234201 - name : Wait for nix-csi node daemonset
235202 run : |
236- kubectl rollout status daemonset -l app.kubernetes.io/component=node -n nixkube --timeout=60s
203+ kubectl rollout status daemonset -l app.kubernetes.io/component=node -n nixkube --timeout=180s
237204 - name : Wait for test workload
238205 run : |
239- kubectl wait --for=condition=complete job/flake-hello job/expr-hello job/path-hello job/nri-hello-ro job/nri-hello-rw -n nixkube --timeout=120s
206+ kubectl wait --for=condition=complete job/flake-hello job/expr-hello job/path-hello job/nri-hello-ro job/nri-hello-rw -n nixkube --timeout=300s
240207 - name : Delete jobs and verify CSI cleanup
241208 run : |
242209 kubectl delete job flake-hello expr-hello path-hello nri-hello-ro nri-hello-rw -n nixkube
243- kubectl wait --for=delete pod -l "job-name in (flake-hello,expr-hello,path-hello,nri-hello-ro,nri-hello-rw)" -n nixkube --timeout=60s
210+ kubectl wait --for=delete pod -l "job-name in (flake-hello,expr-hello,path-hello,nri-hello-ro,nri-hello-rw)" -n nixkube --timeout=120s
244211 - name : Print node logs
245212 run : |
246213 echo "=== Node pod logs ==="
247- kubectl logs -l app.kubernetes.io/component=node -n nixkube --tail -1
214+ kubectl logs -l app.kubernetes.io/component=node -n nixkube --tail=50 --timestamps
248215 - name : Debug on failure
249216 if : failure()
250- run : |
251- echo "=== Cluster state ==="
252- kubectl get all -A
253-
254- echo "=== Cache pod logs ==="
255- kubectl logs -l app.kubernetes.io/name=cache -n nixkube --tail -1 || true
256-
257- echo "=== Node pod logs ==="
258- kubectl logs -l app.kubernetes.io/component=node -n nixkube --tail -1 || true
259-
260- echo "=== Init pod logs ==="
261- kubectl logs -l app.kubernetes.io/component=init -n nixkube --tail -1 || true
262-
263- echo "=== Events ==="
264- kubectl get events -n nixkube --sort-by='.lastTimestamp'
265- - name : Troubleshoot with upterm
266- if : failure()
267- uses : owenthereal/action-upterm@main
268- with :
269- limit-access-to-actor : true
270- wait-timeout-minutes : 5
217+ env :
218+ DS_API : ${{ secrets.DS_API }}
219+ run : nix run --file . ci-debug || true
271220 release :
272221 needs : [check, build-manifests, test-kind-cache, test-kind-nocache]
273222 runs-on : ubuntu-latest
0 commit comments