From 79b0b94ed378fa9f67051a70088b40f54a9294a6 Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Thu, 16 Apr 2026 00:33:59 -0300 Subject: [PATCH] ci: add ESP32 + ngspice co-simulation tests to backend E2E pipeline Adds three new test steps to backend-e2e-tests.yml: - ngspice smoke test (standalone, no backend needed) - ESP32 voltage divider co-simulation (compile + QEMU + ngspice ADC injection) - ESP32 Wheatstone bridge co-simulation (NTC temperature sweep) These run alongside the existing DHT22/HC-SR04/MPU6050/MicroPython tests using the same QEMU .so libraries and ESP32 Arduino core 2.0.17. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/backend-e2e-tests.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/backend-e2e-tests.yml b/.github/workflows/backend-e2e-tests.yml index ce5e8208..710c4d4c 100644 --- a/.github/workflows/backend-e2e-tests.yml +++ b/.github/workflows/backend-e2e-tests.yml @@ -168,6 +168,20 @@ jobs: env: BACKEND_URL: http://localhost:8001 + # ── ESP32 + ngspice co-simulation tests ───────────────────────────────── + - name: Run ngspice smoke test (no backend needed) + run: node test/backend/e2e/test_esp32_spice_smoke.mjs + + - name: Run ESP32 + ngspice voltage divider co-simulation + run: node test/backend/e2e/test_esp32_spice_analog.mjs --timeout=120 + env: + BACKEND_URL: http://localhost:8001 + + - name: Run ESP32 + ngspice Wheatstone bridge co-simulation + run: node test/backend/e2e/test_esp32_spice_ntc_bridge.mjs --timeout=120 + env: + BACKEND_URL: http://localhost:8001 + # ── Always dump backend logs so failures are diagnosable ────────────────── - name: Show backend logs if: always()