Docker image for KiCad automation scripts suitable for CI/CD
Go to file
Salvador E. Tropea 1ff8a71359 Added KiKit 2022-11-29 14:21:37 -03:00
.github/workflows Added push to kicadN_auto 2022-09-27 07:51:49 -03:00
ki6 Added KiKit 2022-11-29 14:21:37 -03:00
manjaro Added scripts for Manjaro test 2022-09-26 08:14:46 -03:00
nightly Added KiCad GIT filters 2022-06-14 14:59:45 -03:00
.gitignore Added make to the image and updated a couple of tools 2020-04-24 23:33:46 -03:00
Dockerfile Added KiKit 2022-11-29 14:21:37 -03:00
LICENSE Initial commit 2020-04-23 11:09:16 -03:00
Makefile Moved nightly to a separated dir and added a workflow for it. 2021-12-05 10:17:02 -03:00
README.md Added KiKit 2022-11-29 14:21:37 -03:00
build.sh Changed default build to latest 2022-09-08 09:28:38 -03:00
do_tag.py KiCad 6.0.9 and KiBoM 1.8.0-3 2022-11-08 14:32:17 -03:00
pull.sh [KiCad 5] Added Debian 11.3 + 5.1.9 as latest 2022-08-11 17:28:01 -03:00
pull_alias.sh Added script to pull all current aliases 2022-09-08 09:28:16 -03:00
push.sh KiCad 6.0.9 and KiBoM 1.8.0-3 2022-11-08 14:32:17 -03:00
run.sh Added KiCad 5.1.6 on Deabian 10.4 2020-05-24 16:09:09 -03:00
run_kicad_same_user.sh Added KiCad 5.1.6 on Deabian 10.4 2020-05-24 16:09:09 -03:00
run_shell.sh [KiCad 5] Added Debian 11.3 + 5.1.9 as latest 2022-08-11 17:28:01 -03:00
run_shell_dev_k6.sh [KiCad 5] Added Debian 11.3 + 5.1.9 as latest 2022-08-11 17:28:01 -03:00
run_shell_same_user.sh Added script to run a shell in the container. 2020-10-06 17:55:00 -03:00
run_shell_same_user_dev.sh Added more example scripts 2021-11-25 11:13:07 -03:00
run_shell_same_user_dev_k6.sh KiCad 6.0.9 and KiBoM 1.8.0-3 2022-11-08 14:32:17 -03:00

README.md

kicad_auto

Docker image for KiCad automation scripts suitable for CI/CD

The main objetive is to use it as a base for KiCad automation in CI/CD environments.

The images are uploaded to Docker Hub and GitHub: Compatibility names, KiCad 5 and KiCad 6.

This image is based on setsoft/kicad_debian and adds some automation tools to it:

  • KiBot generate gerbers, drill, position files, etc.
  • KiAuto runs DRC/ERC, prints schematics, PCB, etc.
  • KiBoM generates HTML and CSV BoMs
  • InteractiveHtmlBom generates interactive HTML BoMs
  • PcbDraw generates 2D renders of the PCB
  • KiCost generates BoMs with prices
  • KiCad Git filters helps to reduce unneeded commits for KiCad files when using git
  • KiCad PCB diff a tool to see differences between PCBs, can be used as git plugin

The available tags are:

  • 10.3-5.1.5 is KiCad 5.1.5 on Debian 10.3 with Kiplot 0.2.4, kicad-automation-scripts 1.3.1, KiBoM 1.6.3 and interactivehtmlbom 2.3.1
  • 10.4-5.1.6 is KiCad 5.1.6 on Debian 10.4 with KiBot 0.7.0, kicad-automation-scripts 1.4.2, KiBoM 1.8.0, interactivehtmlbom 2.3.3 and PcbDraw 0.6.0-2
  • 10.4-5.1.9 is KiCad 5.1.9 on Debian 10.4 with KiBot 1.2.0, KiAuto 1.6.15, KiBoM 1.8.0, interactivehtmlbom 2.5.0, KiCost 1.1.10 (+Digi-Key plug-in) and PcbDraw 0.9.0-3
  • 11.4-5.1.9 is KiCad 5.1.9 on Debian 11.4 with KiBot 1.3.0, KiAuto 1.6.15, KiBoM 1.8.0, interactivehtmlbom 2.5.0, KiCost 1.1.10 (+Digi-Key plug-in), PcbDraw 0.9.0-3 and KiDiff 2.2.0
  • 11.5-5.1.9 (same as latest) is KiCad 5.1.9 on Debian 11.5 with KiBot 1.4.0, KiAuto 2.0.6, KiBoM 1.8.0-3, interactivehtmlbom 2.5.0-2, KiCost 1.1.12 (+Digi-Key plug-in), PcbDraw 0.9.0-5, KiKit 1.1.2 and KiDiff 2.4.3
  • bullseye-6.0.0-RC1-20211204 (same as nightly) is KiCad 6.0.0 RC1 (20211204) on Debian bullseye with KiBot 0.11.0, kicad-automation-scripts 1.6.5, KiBoM 1.8.0, interactivehtmlbom 2.4.1, KiCost 1.1.5 (+Digi-Key plug-in) and PcbDraw 0.9.0-1
  • ki6.0.0_Ubuntu21.10 KiCad 6.0.0 (final release) on Ubuntu Impish with KiBot 0.11.0, kicad-automation-scripts 1.6.5, KiBoM 1.8.0, interactivehtmlbom 2.4.1, KiCost 1.1.5 (+Digi-Key plug-in) and PcbDraw 0.9.0-1
  • ki6.0.6_Debian KiCad 6.0.6 (6.0.7 libs) on Debian 11.4 with KiBot 1.2.0, kicad-automation-scripts 1.6.15, KiBoM 1.8.0, interactivehtmlbom 2.5.0, KiCost 1.1.10 (+Digi-Key plug-in) and PcbDraw 0.9.0-3
  • ki6.0.7_Debian KiCad 6.0.7 on Debian 11.5 with KiBot 1.4.0, kicad-automation-scripts 2.0.6, KiBoM 1.8.0, interactivehtmlbom 2.5.0, KiCost 1.1.12 (+Digi-Key plug-in), PcbDraw 0.9.0-4 and KiDiff 2.4.2
  • ki6.0.9_Debian (same as ki6) KiCad 6.0.9 on Debian 11.5 with KiBot 1.4.0, kicad-automation-scripts 2.0.6, KiBoM 1.8.0-3, interactivehtmlbom 2.5.0-2, KiCost 1.1.12 (+Digi-Key plug-in), PcbDraw 0.9.0-5, KiKit 1.1.2 and KiDiff 2.4.3

You can run it using a script like this:

export USER_ID=$(id -u)
export GROUP_ID=$(id -g)
export WORKDIR=RELATIVE_PATH_TO_KICAD_PROJECTS
export SUBDIR=SUBDIR_INSIDE_WORKDIR
docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \
    -v $(pwd)/$WORKDIR:/home/$USER/workdir \
    --user $USER_ID:$GROUP_ID \
    --env NO_AT_BRIDGE=1 \
    --workdir="/home/$USER" \
    --volume="/etc/group:/etc/group:ro" \
    --volume="/home/$USER/.config/kicad:/home/$USER/.config/kicad:rw" \
    --volume="/home/$USER/.cache/kicad:/home/$USER/.cache/kicad:rw" \
    --volume="/etc/passwd:/etc/passwd:ro" \
    --volume="/etc/shadow:/etc/shadow:ro" \
    setsoft/kicad_auto:10.3-5.1.5 /bin/bash -c "cd workdir/$SUBDIR; kiplot"

To create the docker image run the build.sh script. This script will download the latest KiPlot and needed tools.

The run.sh script is an example of how to run KiPlot using this image locally. You must edit the file to define the place where your KiCad project is located. The WORKDIR variable indicates the directory where your project and libraries are located. The SUBDIR variable is the subdir inside WORKDIR that contains the schematic and PCB files.