dda793c0ef
- 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.
38 lines
1.0 KiB
YAML
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
|