Skip to content

Commit 042d3bd

Browse files
Add KiBot/docs pipeline
1 parent decdebf commit 042d3bd

10 files changed

Lines changed: 332 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Docs Pipeline
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- "hardware/**"
8+
- "docs/**"
9+
- "scripts/**"
10+
- ".github/workflows/**"
11+
workflow_dispatch:
12+
13+
jobs:
14+
kibot:
15+
uses: feastorg/bread-infra/.github/workflows/kibot-ci.yml@main
16+
17+
gen-kibot-index:
18+
uses: feastorg/bread-infra/.github/workflows/publish-kibot.yml@main
19+
needs: [kibot]
20+
with:
21+
kibot_run_id: ${{ needs.kibot.outputs.kibot_run_id }}
22+
23+
deploy-pages:
24+
uses: feastorg/bread-infra/.github/workflows/deploy-pages.yml@main
25+
needs: [gen-kibot-index]
26+
with:
27+
kibot_run_id: ${{ needs.kibot.outputs.kibot_run_id }}
28+
commit_sha: ${{ needs.gen-kibot-index.outputs.kibot_index_sha }}

TODO.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# TODO
2+
3+
## KiBot CI/Docs Pipeline
4+
5+
- Awaiting first CI run

docs/_config.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
title: Slice_LEPD
2+
description: >
3+
A FEASTorg project page for Slice LEPD.
4+
baseurl: "/Slice_LEPD"
5+
url: "https://feastorg.github.io"
6+
7+
remote_theme: pmarsceill/just-the-docs
8+
color_scheme: feast
9+
10+
aux_links:
11+
"← Return to FEASTorg":
12+
- "//feastorg.github.io"
13+
14+
aux_links_new_tab: false
15+
16+
plugins:
17+
- jekyll-feed
18+
- jekyll-seo-tag
19+
- jekyll-remote-theme
20+
21+
markdown: kramdown
22+
kramdown:
23+
input: GFM
24+
25+
permalink: /:path/
26+
27+
exclude:
28+
- TODO.md
29+
- kibot/index_template.md
30+
- kibot/config.kibot.site.yml
31+
- README.md
32+
33+
defaults:
34+
- scope:
35+
path: ""
36+
type: "pages"
37+
values:
38+
layout: "page"
39+
40+
just_the_docs:
41+
logo:
42+
alt: "Slice LEPD"
43+
show_nav_level: 2
44+
collections:
45+
enable: false

docs/assets/boards/.gitkeep

Whitespace-only changes.

docs/index.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: "Slice LEPD Documentation"
3+
description: "Overview and entry page for Slice LEPD project documentation."
4+
nav_exclude: true
5+
---
6+
7+
Welcome to the Slice LEPD project documentation.
8+
9+
## Board Renders
10+
11+
<figure style="display:inline-block; text-align:center; margin:10px;">
12+
<img src="{{ '/assets/boards/board_top.png' | relative_url }}" alt="Board Top" width="300">
13+
<figcaption>Top</figcaption>
14+
</figure>
15+
16+
<figure style="display:inline-block; text-align:center; margin:10px;">
17+
<img src="{{ '/assets/boards/board_bottom.png' | relative_url }}" alt="Board Bottom" width="300">
18+
<figcaption>Bottom</figcaption>
19+
</figure>

docs/kibot/config.kibot.site.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
project_name: "Slice LEPD"
2+
output_dir: "Generated"
3+
artifacts:
4+
- Schematic.pdf
5+
- PCB.pdf
6+
- kibot.log
7+
- BoM/*.html
8+
images:
9+
- board_top.png
10+
- board_bottom.png

docs/kibot/index.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: "KiBot Outputs"
3+
description: "Index for KiBot-generated PCB artifacts."
4+
layout: "page"
5+
---
6+
7+
These are the docs & KiBot Outputs for Slice LEPD
8+
9+
The following files were generated from the latest PCB build:
10+
11+
- [Schematic.pdf](./Schematic.pdf)
12+
- [PCB.pdf](./PCB.pdf)
13+
- [kibot.log](./kibot.log)
14+
- [BREAD_Slice-bom.html](./BREAD_Slice-bom.html)
15+
- [BREAD_Slice-ibom.html](./BREAD_Slice-ibom.html)
16+
17+
_Last updated automatically by KiBot via GitHub Actions._

docs/kibot/index_template.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
$PROJECT_NAME KiBot Outputs
2+
============================
3+
4+
Generated: $DATE
5+
6+
## Artifacts
7+
8+
$LINKS

hardware/Makefile

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
KIBOT?=kibot
2+
DEBUG?=
3+
OUT_DIR=Generated
4+
EXTRA_OPS=--banner -1 --log $(OUT_DIR)/kibot.log $(DEBUG)
5+
PRJ_SCH=BREAD_Slice.kicad_sch
6+
PRJ_PCB=BREAD_Slice.kicad_pcb
7+
8+
.PHONY: erc drc sch_fab pcb_fab erc_and_fab drc_and_fab
9+
10+
erc:
11+
$(KIBOT) $(EXTRA_OPS) -e $(PRJ_SCH) -b $(PRJ_PCB) -d $(OUT_DIR) -s erc -i
12+
13+
drc:
14+
$(KIBOT) $(EXTRA_OPS) -e $(PRJ_SCH) -b $(PRJ_PCB) -d $(OUT_DIR) -s drc -i
15+
16+
sch_fab:
17+
$(KIBOT) $(EXTRA_OPS) -e $(PRJ_SCH) -b $(PRJ_PCB) -d $(OUT_DIR) \
18+
print_sch interactive_bom bom_html bom_csv
19+
20+
pcb_fab:
21+
$(KIBOT) $(EXTRA_OPS) -e $(PRJ_SCH) -b $(PRJ_PCB) -d $(OUT_DIR) \
22+
print_pcb gerbers excellon_drill gerber_drills position \
23+
board_top_png board_bottom_png
24+
25+
erc_and_fab:
26+
$(KIBOT) $(EXTRA_OPS) -e $(PRJ_SCH) -b $(PRJ_PCB) -d $(OUT_DIR) \
27+
print_sch interactive_bom bom_html bom_csv
28+
29+
drc_and_fab:
30+
$(KIBOT) $(EXTRA_OPS) -e $(PRJ_SCH) -b $(PRJ_PCB) -d $(OUT_DIR) \
31+
print_pcb gerbers excellon_drill gerber_drills position

hardware/config.kibot.yaml

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
# KiBot config file
2+
kibot:
3+
version: 1
4+
5+
import:
6+
- file: 3DRender_top
7+
8+
preflight:
9+
erc: true
10+
drc:
11+
schematic_parity: true
12+
13+
outputs:
14+
- name: "print_sch"
15+
comment: "Print schematic (PDF)"
16+
type: pdf_sch_print
17+
dir: .
18+
options:
19+
output: Schematic.pdf
20+
21+
- name: "print_pcb"
22+
comment: "Print F.Cu+Dwgs.User and B.Cu+Dwgs.User"
23+
type: pcb_print
24+
dir: .
25+
options:
26+
output_name: PCB.pdf
27+
scaling: 2.2
28+
pages:
29+
- sheet: Top
30+
layers:
31+
- layer: Edge.Cuts
32+
- F.Cu
33+
- layer: F.Mask
34+
color: "#14332440"
35+
- layer: F.SilkS
36+
- sheet: Bottom
37+
mirror: true
38+
layers:
39+
- layer: Edge.Cuts
40+
- B.Cu
41+
- layer: B.Mask
42+
color: "#14332440"
43+
- layer: B.SilkS
44+
45+
- name: "interactive_bom"
46+
comment: "Interactive Bill of Materials (HTML)"
47+
type: ibom
48+
dir: BoM
49+
options:
50+
blacklist: "DNF*"
51+
name_format: "%f_%r_iBoM"
52+
53+
- name: "bom_html"
54+
comment: "Bill of Materials in HTML format"
55+
type: bom
56+
dir: BoM
57+
options:
58+
format: HTML
59+
normalize_values: true
60+
columns: &bom_cols
61+
- Row
62+
- References
63+
- Value
64+
- Footprint
65+
- Quantity Per PCB
66+
67+
- name: "bom_csv"
68+
comment: "Bill of Materials in CSV format"
69+
type: bom
70+
dir: BoM
71+
options:
72+
format: CSV
73+
columns: *bom_cols
74+
75+
- name: "gerbers"
76+
comment: "Gerbers for the board house"
77+
type: gerber
78+
dir: Gerbers
79+
options:
80+
exclude_edge_layer: true
81+
exclude_pads_from_silkscreen: false
82+
use_aux_axis_as_origin: false
83+
plot_sheet_reference: false
84+
plot_footprint_refs: true
85+
plot_footprint_values: true
86+
force_plot_invisible_refs_vals: false
87+
tent_vias: true
88+
line_width: 0.1
89+
subtract_mask_from_silk: false
90+
use_protel_extensions: false
91+
gerber_precision: 4.6
92+
create_gerber_job_file: true
93+
use_gerber_x2_attributes: true
94+
use_gerber_net_attributes: true
95+
layers:
96+
- layer: F.Cu
97+
suffix: F_Cu
98+
- layer: B.Cu
99+
suffix: B_Cu
100+
- layer: F.Paste
101+
suffix: F_Paste
102+
- layer: B.Paste
103+
suffix: B_Paste
104+
- layer: F.SilkS
105+
suffix: F_SilkS
106+
- layer: B.SilkS
107+
suffix: B_SilkS
108+
- layer: F.Mask
109+
suffix: F_Mask
110+
- layer: B.Mask
111+
suffix: B_Mask
112+
- layer: Dwgs.User
113+
suffix: Dwgs_User
114+
- layer: Edge.Cuts
115+
suffix: Edge_Cuts
116+
- layer: F.Fab
117+
suffix: F_Fab
118+
- layer: B.Fab
119+
suffix: B_Fab
120+
121+
- name: excellon_drill
122+
comment: "Excellon drill files"
123+
type: excellon
124+
dir: Drill
125+
options:
126+
metric_units: false
127+
pth_and_npth_single_file: false
128+
use_aux_axis_as_origin: false
129+
minimal_header: false
130+
mirror_y_axis: false
131+
report:
132+
filename: "drill.rpt"
133+
map:
134+
type: "pdf"
135+
136+
- name: gerber_drills
137+
comment: "Gerber drill files"
138+
type: gerb_drill
139+
dir: Drill
140+
options:
141+
use_aux_axis_as_origin: false
142+
143+
- name: "position"
144+
comment: "Pick and place file"
145+
type: position
146+
dir: Position
147+
options:
148+
format: ASCII
149+
units: millimeters
150+
separate_files_for_front_and_back: true
151+
only_smd: true
152+
153+
- name: "board_top_png"
154+
type: pcbdraw
155+
dir: Images
156+
options:
157+
format: png
158+
dpi: 300
159+
output: "board_top.png"
160+
161+
- name: "board_bottom_png"
162+
type: pcbdraw
163+
dir: Images
164+
options:
165+
format: png
166+
dpi: 300
167+
bottom: true
168+
mirror: true
169+
output: "board_bottom.png"

0 commit comments

Comments
 (0)