d2befa2c8d
- Deleted WebServerManager.h and WebServerManager.cpp files to streamline the codebase. - Updated WebServerManager.cpp to improve authentication handling and command validation. - Added command validator functionality to WebServerManager. - Removed old web UI files (index.html, script.js, style.css) as they are no longer needed. - Modified WifiManager to open fallback AP by default to avoid lockout. - Introduced a pre-merge script for automated checks and builds. - Added runtime contract tests for firmware API guards to ensure robustness.
1.4 KiB
1.4 KiB
Gate de branche (pré-validation)
Ce document décrit l’ordonnancement unique des contrôles de conformité avant transfert.
Ordre d’exécution
Le script scripts/pre_merge.sh exécute les contrôles suivants, dans l’ordre :
python3 -m py_compile scripts/hw_validation.pyplatformio test --without-uploading --without-testing -e esp32dev- Compilation + exécution du test hôte DTMF:
c++ -std=c++17 -Wall -Wextra -pedantic -Isrc test/host/test_dtmf_host.cpp src/telephony/DtmfDecoder.cpp -o .pio/host/test_dtmf_host.pio/host/test_dtmf_host
python3 -m unittest scripts/test_check_web_route_parity.py scripts/test_runtime_contracts.pypython3 scripts/check_web_route_parity.py --report-json artifacts/route_parity_report.json- Build PlatformIO des cibles (par défaut) :
esp32devesp32-s3-devkitc-1esp32-s3-usb-hostesp32-s3-usb-msc
Cible CI
.github/workflows/ci.ymllance directementscripts/pre_merge.sh.- L’artefact
artifacts/route_parity_report.jsonest uploadé automatiquement.
Options utiles
--skip-builds: ignore uniquement la phase build.--build-env <env>: ajoute un env PlatformIO spécifique.--build-envs <env1,env2>: ajoute plusieurs envs.--report-json <path>: redirige le rapport parity JSON.
Exemples :
bash scripts/pre_merge.sh --skip-builds
bash scripts/pre_merge.sh --build-env esp32dev --build-env esp32-s3-devkitc-1