.gitlab-ci.yml 1.3 KB

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