Skip to content

Commit dca07fb

Browse files
committed
Update workflow yml
1 parent f5082b5 commit dca07fb

1 file changed

Lines changed: 51 additions & 35 deletions

File tree

.github/workflows/sandbox-validation.yml

Lines changed: 51 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ jobs:
7171
runs-on: ubuntu-latest
7272

7373
strategy:
74+
fail-fast: false
7475
matrix:
7576
version: ['main', '2.0.0']
7677

@@ -91,23 +92,28 @@ jobs:
9192
cd devops/sandbox
9293
./run.sh -c ${{ matrix.version }}
9394
94-
echo "Waiting for Apache Cloudberry deployment to complete..."
95-
timeout 120 bash -c 'until docker logs cbdb-cdw 2>&1 | grep -q "DEPLOYMENT SUCCESSFUL"; do sleep 10; echo "Still waiting for deployment..."; done'
96-
echo "Deployment completed successfully!"
97-
timeout-minutes: 30
98-
99-
- name: Test database operations
100-
run: |
101-
echo "Waiting for database readiness (up to 60s)..."
102-
for i in {1..12}; do
103-
if docker exec -u gpadmin cbdb-cdw bash -l -c "pg_isready -h localhost -p 5432 -U gpadmin" >/dev/null 2>&1; then
104-
echo "Database is ready."
95+
echo "Waiting for deployment to complete..."
96+
for i in {1..30}; do
97+
if docker logs cbdb-cdw 2>&1 | grep -q "DEPLOYMENT SUCCESSFUL"; then
98+
echo "✅ Deployment completed successfully"
10599
break
106100
fi
107-
if [ "$i" -eq 12 ]; then
108-
echo "Database did not become ready in time."
101+
if ! docker ps | grep -q cbdb-cdw; then
102+
echo "ERROR: Container stopped unexpectedly"
103+
docker logs cbdb-cdw
109104
exit 1
110105
fi
106+
[ $i -eq 30 ] && echo "ERROR: Deployment timeout" && docker logs cbdb-cdw && exit 1
107+
sleep 10
108+
done
109+
timeout-minutes: 30
110+
111+
- name: Test database operations
112+
run: |
113+
echo "Waiting for database readiness..."
114+
for i in {1..24}; do
115+
docker exec -u gpadmin cbdb-cdw bash -l -c "pg_isready -h localhost -p 5432 -U gpadmin" >/dev/null 2>&1 && break
116+
[ $i -eq 24 ] && echo "ERROR: Database not ready" && exit 1
111117
sleep 5
112118
done
113119
@@ -116,10 +122,10 @@ jobs:
116122
117123
echo "Verifying segment configuration..."
118124
docker exec -u gpadmin cbdb-cdw bash -l -c "psql -c 'SELECT * FROM gp_segment_configuration'"
119-
125+
120126
echo "Checking available extensions..."
121127
docker exec -u gpadmin cbdb-cdw bash -l -c "psql -c 'SELECT * FROM pg_available_extensions'"
122-
128+
123129
echo "✅ Single node test (${{ matrix.version }}) completed successfully"
124130
125131
- name: Check container logs on failure
@@ -131,18 +137,21 @@ jobs:
131137
docker logs --tail 100 cbdb-cdw || true
132138
echo "=== Container Resource Usage ==="
133139
docker stats --no-stream cbdb-cdw || true
140+
echo "=== Disk Status ==="
141+
df -h
134142
135143
- name: Cleanup
136144
if: always()
137145
run: |
138146
docker rm -f cbdb-cdw || true
139-
docker system prune -af || true
147+
docker system prune -af --volumes || true
140148
141149
test-multi-node-build:
142150
name: Test Multi Node Build
143151
runs-on: ubuntu-latest
144152

145153
strategy:
154+
fail-fast: false
146155
matrix:
147156
version: ['main', '2.0.0']
148157

@@ -163,32 +172,36 @@ jobs:
163172
cd devops/sandbox
164173
./run.sh -c ${{ matrix.version }} -m
165174
166-
sleep 120 # Wait for containers to initialize
167175
echo "Waiting for Apache Cloudberry multi-node deployment to complete..."
168-
timeout 120 bash -c 'until docker logs cbdb-cdw 2>&1 | grep -q "DEPLOYMENT SUCCESSFUL"; do sleep 15; echo "Still waiting for multi-node deployment..."; done'
169-
echo "Multi-node deployment completed successfully!"
176+
for i in {1..24}; do
177+
if docker logs cbdb-cdw 2>&1 | grep -q "DEPLOYMENT SUCCESSFUL"; then
178+
echo "✅ Multi-node deployment completed"
179+
break
180+
fi
181+
if ! docker ps | grep -q cbdb-cdw; then
182+
echo "ERROR: Coordinator stopped unexpectedly"
183+
docker logs cbdb-cdw
184+
exit 1
185+
fi
186+
[ $i -eq 24 ] && echo "ERROR: Deployment timeout" && docker logs cbdb-cdw && exit 1
187+
sleep 15
188+
done
170189
timeout-minutes: 30
171190

172191
- name: Test SSH connectivity between nodes
173192
run: |
174193
echo "Testing SSH connectivity from coordinator to all nodes..."
175-
docker exec -u gpadmin cbdb-cdw bash -l -c "ssh -o StrictHostKeyChecking=no sdw1 'hostname'"
176-
docker exec -u gpadmin cbdb-cdw bash -l -c "ssh -o StrictHostKeyChecking=no sdw2 'hostname'"
177-
docker exec -u gpadmin cbdb-cdw bash -l -c "ssh -o StrictHostKeyChecking=no scdw 'hostname'"
178-
echo "✅ SSH connectivity test passed"
194+
docker exec -u gpadmin cbdb-cdw bash -l -c "ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 sdw1 'hostname'"
195+
docker exec -u gpadmin cbdb-cdw bash -l -c "ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 sdw2 'hostname'"
196+
docker exec -u gpadmin cbdb-cdw bash -l -c "ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 scdw 'hostname'"
197+
echo "✅ SSH connectivity verified"
179198
180199
- name: Test database operations
181200
run: |
182-
echo "Waiting for database readiness (up to 60s)..."
183-
for i in {1..12}; do
184-
if docker exec -u gpadmin cbdb-cdw bash -l -c "pg_isready -h localhost -p 5432 -U gpadmin" >/dev/null 2>&1; then
185-
echo "Database is ready."
186-
break
187-
fi
188-
if [ "$i" -eq 12 ]; then
189-
echo "Database did not become ready in time."
190-
exit 1
191-
fi
201+
echo "Waiting for database readiness..."
202+
for i in {1..24}; do
203+
docker exec -u gpadmin cbdb-cdw bash -l -c "pg_isready -h localhost -p 5432 -U gpadmin" >/dev/null 2>&1 && break
204+
[ $i -eq 24 ] && echo "ERROR: Database not ready" && exit 1
192205
sleep 5
193206
done
194207
@@ -218,13 +231,16 @@ jobs:
218231
docker logs --tail 50 cbdb-sdw2 || true
219232
echo "=== Network Status ==="
220233
docker network ls || true
234+
echo "=== Disk Status ==="
235+
df -h
221236
222237
- name: Cleanup
223238
if: always()
224239
run: |
225240
cd devops/sandbox
226-
docker compose -f docker-compose-rockylinux9.yml down -v || true
227-
docker system prune -af || true
241+
docker compose -f docker-compose-rockylinux9.yml down -v --remove-orphans || true
242+
docker network rm cbdb-interconnect || true
243+
docker system prune -af --volumes || true
228244
229245
notify-results:
230246
name: Notify Results

0 commit comments

Comments
 (0)