.gitlab-ci.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. stages:
  2. - build
  3. - store
  4. variables:
  5. GIT_SUBMODULE_STRATEGY: recursive
  6. build-gerbers-default:
  7. stage: build
  8. image:
  9. name: kicad/kicad:7.0
  10. pull_policy: if-not-present
  11. script:
  12. - mkdir -p build/default/src
  13. - cd build/default
  14. - cp ../../elec/layout/default/*.kicad_pcb src/
  15. - sed -i "s/"'{{GITHASH}}'"/$CI_COMMIT_SHORT_SHA/g" src/*.kicad_pcb
  16. - mkdir gerbers
  17. - kicad-cli pcb export gerbers -o gerbers/ src/*.kicad_pcb
  18. - kicad-cli pcb export drill -o gerbers/ src/*.kicad_pcb
  19. - zip "gerbers-$CI_COMMIT_SHORT_SHA.zip" gerbers/*
  20. # position files need some massaging for JLCPCB
  21. - kicad-cli pcb export pos --format csv --units mm --use-drill-file-origin -o $CI_COMMIT_SHORT_SHA-pos.csv src/*.kicad_pcb
  22. - POS_HEADER="$(cat ../../metadata/pos-header)"
  23. - sed -i "1s/.*/$POS_HEADER/" $CI_COMMIT_SHORT_SHA-pos.csv
  24. # Export step file
  25. - kicad-cli pcb export step --subst-models -o board_3d_shape.step src/*.kicad_pcb
  26. artifacts:
  27. paths:
  28. - build/
  29. build-ato-default:
  30. stage: build
  31. image: registry.atopile.io/atopile/atopile/ci:latest
  32. script:
  33. - ato install
  34. - ato build
  35. artifacts:
  36. paths:
  37. - build/
  38. store-build:
  39. stage: store
  40. image: alpine
  41. script:
  42. - echo "noop"
  43. artifacts:
  44. paths:
  45. - build/