How to handle variable PCB layer stacks (e.g. In*.Cu) across projects using a shared KiBot config? #830
-
|
Hello, and thank you for the great work on KiBot! I'm trying to maintain a shared KiBot configuration (.kibot.yml) that I can reuse across multiple projects. However, each project may have a different layer stack — some have inner layers like In2.Cu, while others are simple 2-layer boards and don’t include those. In my global config, I define a pcb_print section that includes inner layers like In2.Cu. This works fine for projects that have them, but for simpler boards I get this error: What I tried :I attempted to use global.filters with a regex to ignore this error: global:
filters:
- filter: "Catch all"
error: "dummy"
regex: ".*valid for this board"But the error still shows up and blocks the execution and as you can see, the error don't have an ID. I also tried more specific regexes (escaped dots, parentheses, etc.), but none had an effect. So my questions are:
My goal :I would like to avoid creating separate .kibot.yml files for 2-layer and 4-layer boards, and avoid logic branching in CI (since I'm ussing kibot via CI/CD and so we call the kibot config in the CI/CD) . Any help or example would be greatly appreciated! Thanks again PS : Kibot is ussed in a docker img. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Filter option is for warnings, not errors.
The simple way is to use
Groups are just to make easier to run a group of outputs without specifying them one by one. Not directly related to layers. |
Beta Was this translation helpful? Give feedback.
-
Oh okay, the documentation kind of suggested otherwise. (https://kibot.readthedocs.io/en/latest/configuration/global.html) * filters : KiBot and KiCost warnings to be ignored. Add 1000 to KiCost warnings (WCnnn).
* Valid keys:
* error : (default: '') Error id we want to exclude.
Okay thanks, I took a look and found what I wanted to do. I'm just having a small issue with "sheet" and "title". This is my outputs:
- name: "layer_prints2"
comment: "empty"
type: pcb_print
options:
force_edge_cuts: true
drill: true
format: PDF
pages:
- sheet: '%ll' # %ll, %ls, %ld not working.
layers:
- layer: F.Cu
- layer: Edge.Cuts
repeat_for_layer: 'F.Cu'
repeat_layers: copper
- layers:
- layer: F.Courtyard
- layer: F.Silkscreen
- layer: Edge.Cuts
title: Front courtyard area |
Beta Was this translation helpful? Give feedback.
Errors are for KiCad E/DRC. How could KiBot ignore an error?