Skip to content
Snippets Groups Projects
Commit 99a63626 authored by Stephen D's avatar Stephen D
Browse files

ci/cd

parent dee18bb2
No related branches found
No related tags found
1 merge request!1ci/cd
Pipeline #4025 failed
This commit is part of merge request !1. Comments created here will be created in the context of that merge request.
.gitlab-ci.yml 0 → 100644
stages:
- testing
- gen_fab
tests:
image: ghcr.io/inti-cmnb/kicad7_auto:1.6.2
stage: testing
script:
- "[ -f *.kicad_pcb ] && kibot -c test.kibot.yaml"
tags:
- docker
pcb_outputs:
image: ghcr.io/inti-cmnb/kicad7_auto:1.6.2
stage: gen_fab
script:
- "[ -f *.kicad_pcb ] && kibot -c output.kibot.yaml"
artifacts:
when: always
paths:
- Fabrication/
tags:
- docker
output.kibot.yaml 0 → 100644
+ 149
0
View file @ 99a63626
# Gerber and drill files for JLCPCB, without stencil
# URL: https://jlcpcb.com/
kibot:
version: 1
globals:
resources_dir: ci
filters:
- name: only_jlc_parts
comment: "Only parts with JLC (LCSC) code"
type: generic
include_only:
- column: "LCSC"
regex: '^C\d+'
variants:
- name: rotated
comment: "Just a place holder for the rotation filter"
type: kibom
variant: rotated
pre_transform: _rot_footprint
# JLCPCB Gerber Output
outputs:
- name: JLCPCB_gerbers
comment: Gerbers compatible with JLCPCB
type: gerber
dir: JLCPCB
options: &gerber_options
exclude_edge_layer: true
exclude_pads_from_silkscreen: true
plot_sheet_reference: false
plot_footprint_refs: true
plot_footprint_values: false
force_plot_invisible_refs_vals: false
tent_vias: true
use_protel_extensions: true
create_gerber_job_file: false
disable_aperture_macros: true
gerber_precision: 4.6
use_gerber_x2_attributes: false
use_gerber_net_attributes: false
line_width: 0.1
subtract_mask_from_silk: true
layers:
# Note: a more generic approach is to use 'copper' but then the filenames
# are slightly different.
- F.Cu
- B.Cu
- F.Paste
- B.Paste
- F.SilkS
- B.SilkS
- F.Mask
- B.Mask
- Edge.Cuts
# JLCPCB drill files
- name: JLCPCB_drill
comment: Drill files compatible with JLCPCB
type: excellon
dir: JLCPCB
options:
pth_and_npth_single_file: false
pth_id: "-PTH"
npth_id: "-NPTH"
metric_units: false
output: "%f%i.%x"
# zip all JLCPCB gerber and drill files together
- name: JLCPCB
comment: ZIP file for JLCPCB
type: compress
dir: Fabrication/JLCPCB
options:
files:
- from_output: JLCPCB_gerbers
dest: /
- from_output: JLCPCB_drill
dest: /
# html ibom
- name: ibom
comment: Interactive BOM
type: ibom
dir: Fabrication/ibom
options:
dark_mode: true
name_format: "index"
# JLCPCB assembly positions of components
- name: "JLCPCB_position"
comment: "Pick and place file, JLCPCB style"
type: position
dir: Fabrication/JLCPCB-BOM
options:
variant: rotated
output: "%f_cpl_jlc.%x"
format: CSV
units: millimeters
separate_files_for_front_and_back: false
only_smd: true
columns:
- id: Ref
name: Designator
- Val
- Package
- id: PosX
name: "Mid X"
- id: PosY
name: "Mid Y"
- id: Rot
name: Rotation
- id: Side
name: Layer
# JLCPCB Bom for assembly or for LCSC order
- name: "JLCPCB_bom"
comment: "BoM for JLCPCB"
type: bom
dir: Fabrication/JLCPCB-BOM
options:
output: "%f_%i_jlc.%x"
exclude_filter: "only_jlc_parts"
ref_separator: ","
columns:
- field: Value
name: Comment
- field: References
name: Designator
- Footprint
- field: "LCSC"
name: "LCSC part number"
- field: "Quantity Per PCB"
name: "QTY"
csv:
hide_pcb_info: true
hide_stats_info: true
quote_all: true
# PDF of Schematic with dracula theme
- name: "SchPrint"
comment: "Print schematic PDF"
type: pdf_sch_print
dir: Fabrication/PDFs
options:
color_theme: dracula
background_color: true
kibot:
version: 1
preflight:
run_erc: true
update_xml: false
run_drc: true
check_zone_fills: true
ignore_unconnected: false
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment