Files
Kill_LIFE/.github/workflows/evidence_pack.yml
T
root e67fb754c2 feat: KiCad 10 native, QEMU simulation, compliance EU, firmware fixes
Session kxkm-ai 25-26 mars 2026 — 98/98 tâches TODO complétées.

Hardware:
- KiCad 10.0.0 native avec sym/fp-lib-table locales
- Nouveau block SPI (gen_spi_header.py), ERC clean
- Module partagé hardware/lib/kicad_gen.py (5 générateurs refactorisés)
- Pipeline export: tools/hw/hw_export.sh (ERC + SVG + PDF + netlist)
- KiBot 1.8.5 installé, .kibot.yaml configuré

Firmware:
- Fix I2S driver conflict: migration I2sMic vers nouvelle API i2s_channel_*
- Fix WDT risk: yield() dans CompletePushToTalk (voice_controller.cpp)
- Fix XSS wifi_manager.cpp: innerHTML → createElement/textContent
- Fix null check FwIsValidWavHeader
- Dead code supprimé: i2s_audio.cpp.bak, i2s_audio.h

Simulation MCU:
- QEMU ESP32-S3 v9.2.2 installé (tools/sim/)
- Script run_qemu_esp32s3.sh — boot OK vérifié
- [env:esp32s3_qemu] dans platformio.ini
- Wokwi CI: wokwi.toml + diagram.json + scenario.yaml
- SPICE bridge POC: tools/sim/spice_bridge.py (ngspice → ADC/brownout)

Compliance:
- Profil iot_wifi_eu validé (16 standards, 8 evidence)
- 4 evidence remplis: risk_assessment, security_architecture,
  test_plan_radio_emc, supply_chain_declarations
- plan.yaml complété avec données produit réelles

CI:
- Job hardware-export (KiCad 10 ERC + SVG + PDF + netlist)
- Job firmware-sim (Wokwi, conditionnel WOKWI_CLI_TOKEN)
- evidence_pack.yml enrichi avec exports hardware

Docs & RAG:
- specs/02_arch.md complet (481 lignes, 4 ADR, diagrammes)
- docs/SIMULATION.md (3 niveaux: native, QEMU, Wokwi)
- 6 chunks ingérés dans kb-kicad RAG
- Dataset HF: tools/generate_hf_dataset.py + datasets/kb_kicad_qa.jsonl
- Rapport analyse: docs/plans/ANALYSIS_REPORT_2026-03-25.md
- Recherche OSS: docs/research/oss_similar_projects.md

Infra:
- ZeroClaw 0.1.7 installé (cargo install)
- APIFY_API_KEY configurée, smoke OK
- Tests: 39/39 firmware + 26/26 Python stable

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 09:52:00 +01:00

74 lines
2.2 KiB
YAML

name: Evidence Pack Validation
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
evidence_pack:
runs-on: ubuntu-latest
timeout-minutes: 25
env:
KILL_LIFE_PIO_MODE: native
PLATFORMIO_CORE_DIR: ~/.platformio
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
cache-dependency-path: |
tools/compliance/requirements.txt
tools/compliance/requirements-platformio.txt
- name: Cache PlatformIO core
uses: actions/cache@v4
with:
path: ~/.platformio
key: ${{ runner.os }}-platformio-${{ hashFiles('firmware/platformio.ini', 'tools/compliance/requirements-platformio.txt') }}
restore-keys: |
${{ runner.os }}-platformio-
- name: Bootstrap repo-local venv
run: bash tools/bootstrap_python_env.sh --with-platformio
- name: Generate evidence pack summary
run: ./.venv/bin/python tools/auto_check_ci_cd.py
- name: Install KiCad 10
run: |
sudo add-apt-repository -y ppa:kicad/kicad-10.0-releases
sudo apt-get update
sudo apt-get install -y kicad
- name: Hardware ERC + exports
run: |
mkdir -p artifacts/hw
kicad-cli sch erc hardware/esp32_minimal/esp32_minimal.kicad_sch \
--format json --output artifacts/hw/erc_report.json
kicad-cli sch export svg hardware/esp32_minimal/esp32_minimal.kicad_sch \
--output artifacts/hw/
kicad-cli sch export pdf hardware/esp32_minimal/esp32_minimal.kicad_sch \
--output artifacts/hw/schematic.pdf
kicad-cli sch export netlist hardware/esp32_minimal/esp32_minimal.kicad_sch \
--output artifacts/hw/netlist.xml
- name: Upload evidence pack artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: evidence-pack
if-no-files-found: warn
path: |
docs/evidence/
artifacts/hw/