Skip to content

Commit 512258c

Browse files
authored
ci: improve log collection and upload for all providers (#477)
2 parents b5c18b3 + 3aa757d commit 512258c

File tree

1 file changed

+48
-6
lines changed

1 file changed

+48
-6
lines changed

.github/workflows/ci_integration.yml

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,23 +65,46 @@ jobs:
6565
path: /tmp
6666

6767
- name: script
68+
timeout-minutes: 45
6869
run: |
6970
export ZOMBIE_K8S_CI_NAMESPACE=$(cat /data/namespace)
7071
export ZOMBIE_PROVIDER="k8s"
71-
# mv artifacts.tar.gz /tmp
7272
cd /tmp
7373
ls -la
7474
tar xvfz artifacts.tar.gz
7575
./artifacts/smoke --nocapture
76-
# for running local
77-
# cargo test --test smoke -- --nocapture
76+
77+
- name: dump logs
78+
if: always()
79+
run: |
80+
export ZOMBIE_K8S_CI_NAMESPACE=$(cat /data/namespace)
81+
mkdir -p /tmp/zombie-1/logs
82+
83+
# Install kubectl if not available
84+
if ! command -v kubectl &> /dev/null; then
85+
echo "Installing kubectl..."
86+
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
87+
chmod +x kubectl
88+
mv kubectl /usr/local/bin/
89+
fi
90+
91+
echo "Listing pods in namespace $ZOMBIE_K8S_CI_NAMESPACE..."
92+
kubectl get pods -n "$ZOMBIE_K8S_CI_NAMESPACE" -o wide || true
93+
for pod in $(kubectl get pods -n "$ZOMBIE_K8S_CI_NAMESPACE" -o jsonpath='{.items[*].metadata.name}' 2>/dev/null || true); do
94+
echo "Dumping logs for pod: $pod"
95+
kubectl logs -n "$ZOMBIE_K8S_CI_NAMESPACE" "$pod" --all-containers=true > "/tmp/zombie-1/logs/${pod}.log" 2>&1 || true
96+
done
97+
find /tmp/zombie* -name "*.log" -type f ! -regex '.*/[0-9]+\.log' -exec cp {} /tmp/zombie-1/logs/ \; 2>/dev/null || true
98+
echo "Collected logs:"
99+
ls -la /tmp/zombie-1/logs/ || true
78100
79101
- name: upload logs
102+
if: always()
80103
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
81104
with:
82105
name: zombienet-logs-${{ github.job }}-${{ github.sha }}
83106
path: |
84-
/tmp/zombie*/logs/*
107+
/tmp/zombie-1/logs/*
85108
86109
docker-integration-test-smoke:
87110
runs-on: parity-default
@@ -111,13 +134,24 @@ jobs:
111134
tar xvfz artifacts.tar.gz
112135
./artifacts/smoke --nocapture
113136
137+
- name: dump logs
138+
if: always()
139+
run: |
140+
mkdir -p /tmp/zombie-1/logs
141+
for container in $(docker ps -a --filter "name=zombie" --format "{{.Names}}" 2>/dev/null || true); do
142+
echo "Dumping logs for container: $container"
143+
docker logs "$container" > "/tmp/zombie-1/logs/${container}.log" 2>&1 || true
144+
done
145+
find /tmp/zombie* -name "*.log" -type f ! -regex '.*/[0-9]+\.log' -exec cp {} /tmp/zombie-1/logs/ \; 2>/dev/null || true
146+
ls -la /tmp/zombie-1/logs/ || true
147+
114148
- name: upload logs
115149
if: always()
116150
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
117151
with:
118152
name: zombienet-logs-${{ github.job }}-${{ github.sha }}
119153
path: |
120-
/tmp/zombie*/logs/*
154+
/tmp/zombie-1/logs/*
121155
122156
native-integration-test-smoke:
123157
runs-on: parity-default
@@ -156,9 +190,17 @@ jobs:
156190
./artifacts/smoke_native --nocapture
157191
# cargo test --test smoke-native -- --nocapture
158192
193+
- name: collect logs
194+
if: always()
195+
run: |
196+
mkdir -p /tmp/zombie-1/logs
197+
find /tmp/zombie* -name "*.log" -type f ! -regex '.*/[0-9]+\.log' -exec cp {} /tmp/zombie-1/logs/ \; 2>/dev/null || true
198+
ls -la /tmp/zombie-1/logs/ || true
199+
159200
- name: upload logs
201+
if: always()
160202
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
161203
with:
162204
name: zombienet-logs-${{ github.job }}-${{ github.sha }}
163205
path: |
164-
/tmp/zombie*/logs/*
206+
/tmp/zombie-1/logs/*

0 commit comments

Comments
 (0)