2023-11-14 20:03:19 +01:00
|
|
|
stages:
|
|
|
|
- check
|
|
|
|
- build
|
|
|
|
- store
|
|
|
|
|
|
|
|
check-ato:
|
|
|
|
stage: check
|
|
|
|
image: registry.atopile.io/atopile/atopile-dev:latest
|
|
|
|
script:
|
|
|
|
- ato check elec/src
|
|
|
|
|
|
|
|
build-gerbers-default:
|
|
|
|
stage: build
|
|
|
|
image:
|
|
|
|
name: kicad/kicad:nightly
|
|
|
|
pull_policy: if-not-present
|
|
|
|
script:
|
|
|
|
- mkdir -p build/default/src
|
|
|
|
- cd build/default
|
2023-11-14 20:51:50 +01:00
|
|
|
- cp ../../elec/layout/*.kicad_pcb src/
|
2023-11-14 20:03:19 +01:00
|
|
|
- sed -i "s/"'{{GITHASH}}'"/$CI_COMMIT_SHORT_SHA/g" src/*.kicad_pcb
|
|
|
|
- mkdir gerbers
|
|
|
|
- kicad-cli pcb export gerbers -o gerbers/ src/*.kicad_pcb
|
|
|
|
- kicad-cli pcb export drill -o gerbers/ src/*.kicad_pcb
|
|
|
|
- zip "gerbers-$CI_COMMIT_SHORT_SHA.zip" gerbers/*
|
|
|
|
|
|
|
|
# position files need some massaging for JLCPCB
|
|
|
|
- kicad-cli pcb export pos --format csv --units mm --use-drill-file-origin -o servo-drive-pos.csv src/*.kicad_pcb
|
|
|
|
- POS_HEADER="$(cat ../../metadata/pos-header)"
|
|
|
|
- sed -i "1s/.*/$POS_HEADER/" servo-drive-pos.csv
|
|
|
|
|
|
|
|
# Export step file
|
|
|
|
- kicad-cli pcb export step --subst-models -o board_3d_shape.step src/*.kicad_pcb
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- build/
|
|
|
|
|
|
|
|
build-ato-default:
|
|
|
|
stage: build
|
|
|
|
image: registry.atopile.io/atopile/atopile-dev:latest
|
|
|
|
script:
|
|
|
|
- ato build elec/src
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- build/
|
|
|
|
|
|
|
|
store-build:
|
|
|
|
stage: store
|
|
|
|
image: alpine
|
|
|
|
script:
|
|
|
|
- echo "noop"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- build/
|