Loading files…
This repository provides:
.github/workflows/kicad_export.yml) that you can call from your PCB project repos..kicad_pcb (and matching .kicad_sch) files, exports manufacturing outputs, and stores them in an outputs/ folder.kicad-cli commands in KiCad 8.In your KiCad project repository, create a workflow file (e.g., .github/workflows/kicad_export_caller.yml):
name: "Kicad 8 release CI"
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# or to allow manual triggers:
# workflow_dispatch:
jobs:
call-export:
uses: lukasznowarkiewicz/kicadReleaseCI/.github/workflows/kicad_export.yml@main
with:
target_repo: ${{ github.repository }}
target_ref: ${{ github.ref }}
uses:kicad_export.ymltarget_repo and target_ref are inputs required by the reusable workflow to know which repo and branch to check out.main or open a pull request, GitHub Actions calls kicad_export.yml from kicadReleaseCI, checks out your KiCad files, and runs the export container.kicad-outputs. Download it from the “Actions” tab in your project repo.Note: If your
kicadReleaseCIrepo is private, ensure you have set the right permissions and that both repos are in the same organization (or you have a proper token setup).
If you want to develop or modify this CI workflow in kicadReleaseCI, here are common tasks:
git clone https://github.com/lukasznowarkiewicz/kicadReleaseCI.git
cd kicadReleaseCI
docker build -t kicad-autogen:latest .
This uses the local Dockerfile, which installs KiCad 8 and copies the generate_kicad_outputs.sh script.
You can run the image manually, mounting a KiCad project folder to /project:
docker run --rm -it -v "$(pwd)":/project -w /project kicad-autogen:latest
or optinally run container and enter containers' bash:
docker run --rm -it \
--entrypoint bash \
-v "$(pwd)":/project \
-w /project \
kicad-autogen:latest
generate_kicad_outputs.sh, which searches /project for .kicad_pcb files, exports all outputs, and places them into outputs/ subfolders.some_kicad_project/outputs/ on your host system for the results.generate_kicad_outputs.sh. It does:
find . -type f -name '*.kicad_pcb' to locate boards in subfolders..kicad_sch is found, exports schematic PDF & BOM.outputs/<subdirectory>.F.Cu,B.Cu,F.SilkS,B.SilkS,Edge.Cuts).kicad-cli pcb export svg).After changes, rebuild the Docker image or push to GitHub so the updated script is used in subsequent CI runs.
By default, the script exports the following for each .kicad_pcb:
.gbrjob..drl, .map)..kicad_sch (same base name) is found. BOM is exported as .csv.All generated files go into outputs/<mirroring the original folder structure>. For instance, if your KiCad board is at sub/folder/myboard.kicad_pcb, the outputs go to outputs/sub/folder/.
This project is published under the Apache-2.0 license.
No comments yet. Be the first to ask about this board.