Commit Graph

10 Commits

Author SHA1 Message Date
davidmonterocrespo24 36bd49f507 feat(build): fetch QEMU binaries from velxio.dev license endpoint
The qemu-prebuilt GitHub Release was the convenience-binary hosting
path before we shipped the license module. With the license module
live at /api/pro/license/downloads/, the prebuilts now live there
behind a free personal-tier key.

Dockerfile.standalone:
  - New build-args VELXIO_LICENSE_KEY + VELXIO_BINARY_BASE_URL
  - prebuilt/qemu/ local files still win first (lets users compile
    QEMU from source per docs/BUILD-QEMU.md and use that instead)
  - Legacy QEMU_RELEASE_URL kept as escape hatch for private mirrors
  - Fail-fast with a friendly message if no path is configured

backend-e2e-tests workflow:
  - Reads secrets.VELXIO_BUILD_LICENSE_KEY (set in repo settings)
  - Uses the gated URL pattern; same fallback message on missing key

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 05:55:38 +02:00
David Montero Crespo d346e89b92 Refactor ESP32 library management and add regression tests for issue #129
- Update esp32_lib_manager.py to dynamically set library extensions based on the platform (Linux, Windows, macOS).
- Update submodule references for qemu-lcgamboa and wokwi-elements.
- Add documentation on ESP32 Arduino runtime crashes related to cache disable during WiFi/BT initialization.
- Introduce regression tests for the ESP32-CAM blink issue, ensuring the user sketch matches the reported problem.
- Implement an IRAM-safe blink sketch to confirm the regression is due to the Arduino runtime.
- Create a comprehensive test suite to cover various layers of the simulation and compilation process.
2026-04-30 23:49:46 -03:00
davidmonterocrespo24 979df2608b ci(backend-e2e): run photodiode SPICE co-simulation test
Registers test_esp32_spice_photodiode.mjs (added in the previous commit)
in the ESP32 + ngspice section of the backend e2e workflow, with a 150s
timeout to accommodate ESP32 firmware compile + QEMU boot.
2026-04-24 19:20:09 +02:00
David Montero Crespo 79b0b94ed3 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) <noreply@anthropic.com>
2026-04-16 00:33:59 -03:00
David Montero Crespo c65acdb1dc Add end-to-end test for MicroPython on Raspberry Pi Pico using rp2040js
- Implemented a comprehensive test script (test_micropython_pico.mjs) that performs the following:
  - Part 1: Checks backend compilation of a simple Arduino sketch for the rp2040:rp2040:rpipico board.
  - Part 2: Downloads MicroPython v1.20.0 UF2 firmware and loads it into a rp2040js simulator.
  - Part 3: Simulates the Pico, verifies REPL output, and checks execution of injected Python code.
- Includes detailed logging and error handling for each step of the process.
2026-04-13 10:02:21 -03:00
David Montero Crespo 9a954c3314 feat: Mark subproject commits as dirty in rp2040js and wokwi-elements 2026-04-12 00:37:33 -03:00
David Montero Crespo e82ff3900f feat: Add installation of QEMU shared-library dependencies in backend E2E tests; mark subproject commits as dirty 2026-04-12 00:13:03 -03:00
David Montero Crespo d62d82b1a8 feat: Update Node.js version to 22 in backend E2E tests; mark subproject commits as dirty 2026-04-12 00:06:22 -03:00
David Montero Crespo ce3c5f8cf5 feat: Increase timeout for backend E2E tests; add logging for backend startup and show logs on failure; mark subproject commits as dirty 2026-04-11 23:53:44 -03:00
David Montero Crespo 6b161eab34 feat: Enhance CI workflows for backend unit and e2e tests; add environment setup and skip timing-sensitive tests in CI 2026-04-10 23:47:25 -03:00