Skip to content

Commit fb202ed

Browse files
committed
self-healing: complete phase-2 port, docs, and e2e/ci coverage
1 parent d44a78e commit fb202ed

34 files changed

Lines changed: 5834 additions & 28 deletions

.github/workflows/tests.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,44 @@ jobs:
7070
- name: Run cascade e2e tests
7171
run: make test-cascade
7272

73+
self-healing-e2e-tests:
74+
name: self-healing-e2e-tests
75+
runs-on: ubuntu-latest
76+
77+
steps:
78+
- name: Checkout code
79+
uses: actions/checkout@v6.0.1
80+
81+
- name: Setup Go and system deps
82+
uses: ./.github/actions/setup-env
83+
# with:
84+
# bust_lumera_retag: 'true'
85+
86+
- name: Go mod tidy
87+
run: go mod tidy
88+
89+
- name: Install Lumera
90+
run: make install-lumera
91+
92+
- name: Setup Supernode environments
93+
run: make setup-supernodes
94+
95+
- name: Run self-healing e2e tests
96+
run: make test-self-healing
97+
98+
- name: Dump self-healing runtime traces
99+
if: always()
100+
run: |
101+
cd tests/system
102+
for f in supernode0.out supernode1.out supernode2.out; do
103+
echo "==== ${f} (self-healing excerpts) ===="
104+
if [ -f "$f" ]; then
105+
grep -E "self-healing|sh-e2e-happy|RequestSelfHealing|VerifySelfHealing|CommitSelfHealing|reconstructed_hash_hex|observer" "$f" | tail -n 200 || true
106+
else
107+
echo "missing ${f}"
108+
fi
109+
done
110+
73111
# sn-manager-e2e-tests:
74112
# name: sn-manager-e2e-tests
75113
# runs-on: ubuntu-latest

Makefile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ release:
120120
###################################################
121121
### Tests and Simulation ###
122122
###################################################
123-
.PHONY: test-e2e test-unit test-integration test-system test-cascade test-sn-manager
123+
.PHONY: test-e2e test-unit test-integration test-system test-cascade test-self-healing test-sn-manager
124124
.PHONY: install-lumera setup-supernodes system-test-setup install-deps
125125
.PHONY: gen-cascade gen-supernode
126126
test-unit:
@@ -152,7 +152,7 @@ gen-supernode:
152152
--grpc-gateway_out=gen \
153153
--grpc-gateway_opt=paths=source_relative \
154154
--openapiv2_out=gen \
155-
proto/supernode/service.proto proto/supernode/status.proto proto/supernode/storage_challenge.proto
155+
proto/supernode/service.proto proto/supernode/status.proto proto/supernode/storage_challenge.proto proto/supernode/self_healing.proto
156156

157157
# Define the paths
158158
SUPERNODE_SRC=supernode/main.go
@@ -201,8 +201,12 @@ test-cascade:
201201
@echo "Running cascade e2e tests..."
202202
@cd tests/system && ${GO} mod tidy && ${GO} test -tags=system_test -v -run TestCascadeE2E .
203203

204+
# Run self-healing e2e tests only
205+
test-self-healing:
206+
@echo "Running self-healing e2e tests..."
207+
@cd tests/system && ${GO} mod tidy && ${GO} test -tags=system_test -v -run '^TestSelfHealingE2E' .
208+
204209
# Run sn-manager e2e tests only
205210
test-sn-manager:
206211
@echo "Running sn-manager e2e tests..."
207212
@cd tests/system && ${GO} test -tags=system_test -v -run '^TestSNManager' .
208-

0 commit comments

Comments
 (0)