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.
29 lines
896 B
YAML
29 lines
896 B
YAML
name: Hardware CI (KiCad)
|
|
|
|
on:
|
|
push:
|
|
paths: ["hardware/**", "tools/hw/**", ".github/workflows/hardware_ci.yml"]
|
|
pull_request:
|
|
paths: ["hardware/**", "tools/hw/**", ".github/workflows/hardware_ci.yml"]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
hw:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install deps (schops)
|
|
run: |
|
|
python -m pip install -U pip
|
|
python -m pip install -r tools/hw/schops/requirements.txt
|
|
- name: Unit tests (rules engine)
|
|
run: |
|
|
python -m unittest discover -s tools/hw/schops/tests -p "test_*.py"
|
|
- name: Template note
|
|
run: |
|
|
echo "Template CI: install KiCad on runner or use a KiCad docker image, then run:"
|
|
echo " bash tools/hw/hw_check.sh <path/to.kicad_sch>"
|