Hi all!
i have been working in an open-source CI plugin for Drone. For those of you who are not familiar with Drone, it provides a self-hosted CI service (similar to Travis CI or Circle CI).
Basically, it allows you to automatically generate gerber files, schematics in pdf and SVG plots as soon as you push your commits into your Git repo. Output files are stored in a folder named CI-BUILD
. You can then deploy this folder somewhere. All of this on top of KiCad v5.
There are a couple of functionalities included into the plugin:
- You can specify variants of the board (if you happen to build two or more differently populated boards)
- You can also tag the board with the current commit, tag and date if you have the correct footprint on the board.
It works quite well so far. Here’s a link to the last outputs of the demo board so you can check out the files. Here are a screenshot of the three PCB varaints from the demo board.
From left to right: (1) Variant 1, (2) Variant 2, (3) Variant 3. Each pair of components present in the boards have a field named
variant
with the content sample1
, sample2
and sample3
respectively. The other components don’t have any variant
field.
The source code is available on this repo, and the Docker image is available as toroid/drone-kicad
in dockerhub.
You can find the demo repo in the same Github organization under the name drone-kicad-sample
(sorry, two links maximum). The plugin is not yet published in the official drone plugins marketplace, but I should probably do that sooner than later. I tested it with Drone 0.8.6.
Please check the README for documentation, or post your questions here!
I hope you find it useful!
Andrés.