5efb380da5
* feat: automate yiacad pr review lane * fix: stabilize yiacad review and spec gates * fix: scope kicad exports to repo hardware * fix: ignore kicad block library sources in exports * feat: Add infra VPS monitoring runbook and healthcheck scripts - Created INFRA_VPS_RUNBOOK_2026.md detailing operational procedures for monitoring VPS services. - Added infra_vps_healthcheck.sh script for automated health checks on DNS, TLS, TCP, and HTTP for VPS services. - Introduced infra_vps_security_audit.sh for non-intrusive security checks on external VPS services. - Established JSON schema for infra VPS inventory in infra_vps.schema.json. - Developed integration for runtime status reporting in the Next.js API route. - Implemented Playwright tests for smoke testing the application and ensuring core functionalities. - Updated Makefile for development dependencies and testing commands. - Created various test files for unit and end-to-end testing across different components. * feat(agentics): update mesh agents, gates, prompts, and workflows
3.3 KiB
3.3 KiB
Spec CI/CD Multi-cible Hardware-in-the-Loop et YiACAD
Objectif
Ce workflow doit compiler, tester et valider le firmware sur toutes les cibles (ESP, STM, Linux), générer et publier les artefacts (logs, binaries, rapports de tests), assurer la traçabilité et la reproductibilité (evidence packs), et intégrer la simulation hardware-in-the-loop.
Delta YiACAD 2026-03-29:
- la lane produit YiACAD ajoute un CI/CD
desktop + web + backend + manufacturing KiCad >= 10.0etFreeCAD >= 1.1deviennent les floors de smoke desktopKiBotetKiAutodeviennent des lanes Linux/Docker bloquantes pour la fabrication et la validation- la reference canonique pour YiACAD est
specs/yiacad_plugin_workbench_ci_plan.md
Triggers
- Push ou PR sur firmware/, hardware/, specs/
- Modification des scripts d’automatisation (tools/)
- Push ou PR sur web/, tools/cad/, tools/cockpit/, test/, .github/workflows/
Actions
- Build du firmware pour chaque cible
- Exécution des tests unitaires et hardware-in-the-loop
- Collecte des logs, rapports, binaries
- Génération et publication de l’evidence pack
- Validation des gates (tests, conformité, sécurité)
- Publication des artefacts
- Pour YiACAD:
- validation des contrats backend
- build/tests web
- smoke macOS
KiCad/FreeCAD - lanes Linux
KiBot/KiAuto - publication des artefacts CAD et du digest evidence
Gates de sécurité
- Validation des tests sur chaque cible
- Vérification de conformité (absence de secrets, labels PR, artefacts)
- Blocage ou alerte en cas de violation
Artefacts
- Evidence pack (logs, rapports, binaries, traces)
- Badge de couverture
- Changelog et release notes
Acceptance Criteria (RFC2119)
- Le firmware MUST compiler sur chaque cible (ESP, STM, Linux)
- Les tests unitaires et hardware-in-the-loop MUST passer
- Un evidence pack MUST être généré et publié
- Les gates de sécurité MUST être validés avant publication
- Les artefacts SHOULD être accessibles dans docs/evidence/ ou compliance/evidence/
- YiACAD MUST valider ses contrats backend, ses smokes desktop et sa lane manufacturing avant release
- YiACAD SHOULD publier un evidence pack lisible par operateur avec
engine_status, rapports et artefacts
NFRs
- Latence : le workflow SHOULD s’exécuter en moins de 30 min
- Fiabilité : le workflow MUST détecter et alerter toute anomalie
- Traçabilité : chaque artefact MUST être versionné et lié à la PR
- Reproductibilité : le workflow MUST être idempotent
Plan de vérification
- Exécution du workflow sur PR/push
- Validation via
python3 tools/validate_specs.py --json - Contrôle manuel et badge de couverture
Glossaire
- Evidence pack : ensemble des artefacts, logs, traces générés lors du workflow
- Hardware-in-the-loop : simulation embarquée pour valider le comportement firmware
Ce squelette doit être complété lors de l’implémentation détaillée.
Delta YiACAD 2026-03-29
Workflows cibles:
yiacad-contracts-and-pythonyiacad-web-build-and-testsyiacad-backend-integrationyiacad-cad-smokesyiacad-manufacturing-bundleyiacad-evidence-pack
Separation des runners:
macOSpour les smokes desktopKiCad/FreeCADLinuxpourKiBot,KiAuto, bundles manufacturing, matrices nocturnes
Document canonique associe:
specs/yiacad_plugin_workbench_ci_plan.md