Template
Product repository template
Layout, proplan.toml, README/CHANGELOG, placeholder product image, .gitignore, KiBot/release/docgen workflows and TEMPLATE.md. Source of truth: contrib/product-template in B4L/proplan (cargo test --test product_template checks it as Gitea 1.27 creates a repository from it).
This commit is contained in:
commit
421b4202cc
24 files changed
+573
No files matched your search
@@ -0,0 +1,48 @@
|
||||
name: KiBot
|
||||
|
||||
# Checks every board (hardware/*/*.kicad_pro): ERC, DRC, schematic PDF,
|
||||
# gerbers, drill, pick and place, BOM; the outputs are kept as an artifact.
|
||||
# Adapted from LVSolarBuck (runner label kicad10_auto). Without a board yet
|
||||
# the job ends right away.
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'hardware/**'
|
||||
- 'kibot.yaml'
|
||||
- '.gitea/workflows/kibot.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'hardware/**'
|
||||
- 'kibot.yaml'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
boards:
|
||||
runs-on: kicad10_auto
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Find boards
|
||||
id: boards
|
||||
run: |
|
||||
found=$(find hardware -mindepth 2 -maxdepth 2 -name '*.kicad_pro' | sort | tr '\n' ' ')
|
||||
echo "projects=$found" >> "$GITHUB_OUTPUT"
|
||||
if [ -z "$found" ]; then echo "No KiCad project under hardware/ yet."; fi
|
||||
|
||||
- name: KiBot
|
||||
if: steps.boards.outputs.projects != ''
|
||||
run: |
|
||||
for pro in ${{ steps.boards.outputs.projects }}; do
|
||||
dir=$(dirname "$pro"); board=$(basename "$dir")
|
||||
echo "== $board"
|
||||
(cd "$dir" && kibot -c "$GITHUB_WORKSPACE/kibot.yaml" -d "$GITHUB_WORKSPACE/Generated/$board" -v) \
|
||||
|| echo "::warning::KiBot reported problems for $board"
|
||||
done
|
||||
|
||||
- name: Keep the outputs
|
||||
if: steps.boards.outputs.projects != ''
|
||||
uses: https://github.com/christopherHX/gitea-upload-artifact@v4
|
||||
with:
|
||||
name: kibot-outputs
|
||||
path: Generated
|
||||
Reference in new issue
Block a user