Files
Kill_LIFE/ai-agentic-embedded-base/.github/workflows/firmware_ci.yml
T
Clément SAILLANT dda793c0ef feat(hw): add schops tool for schematic operations and kicad-cli integration
- Introduced `kicad_cli.sh` for local and Docker-based kicad-cli execution.
- Created `schops.py` for schematic operations including ERC, BOM, netlist exports, and bulk edits.
- Added README.md for schops with installation and usage instructions.
- Included requirements.txt for necessary Python packages.
- Implemented rules engine for applying field defaults and renaming nets.
- Added tests for rules engine functionality.
- Introduced scope guard script to enforce file modification policies based on PR labels.
- Created watch script to monitor KiCad files and trigger hardware gate on changes.
2026-02-19 00:00:33 +01:00

38 lines
1.0 KiB
YAML

name: Firmware CI
on:
push:
paths: ["firmware/**", "specs/**", "standards/**", ".github/workflows/firmware_ci.yml"]
pull_request:
paths: ["firmware/**", "specs/**", "standards/**", ".github/workflows/firmware_ci.yml"]
jobs:
pio:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
env: [esp32s3_arduino, esp32_arduino, native]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/.platformio
key: pio-${{ runner.os }}-${{ matrix.env }}-${{ hashFiles('firmware/platformio.ini') }}
- name: Install PlatformIO
run: |
python -m pip install -U pip
python -m pip install -U platformio
- name: Build
working-directory: firmware
run: pio run -e ${{ matrix.env }}
- name: Test
if: matrix.env == 'native'
working-directory: firmware
run: pio test -e native