stages: - build - store variables: GIT_SUBMODULE_STRATEGY: recursive build-gerbers-default: stage: build image: name: kicad/kicad:7.0 pull_policy: if-not-present script: - mkdir -p build/default/src - cd build/default - cp ../../elec/layout/default/*.kicad_pcb src/ - 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 $CI_COMMIT_SHORT_SHA-pos.csv src/*.kicad_pcb - POS_HEADER="$(cat ../../metadata/pos-header)" - sed -i "1s/.*/$POS_HEADER/" $CI_COMMIT_SHORT_SHA-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/ci:latest script: - ato install - ato build artifacts: paths: - build/ store-build: stage: store image: alpine script: - echo "noop" artifacts: paths: - build/