electronics.yml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. name: Export Electronics
  2. on:
  3. push:
  4. pull_request:
  5. jobs:
  6. export-electronics:
  7. name: Export Electronics
  8. runs-on: ubuntu-20.04
  9. steps:
  10. - name: Checkout code
  11. uses: actions/checkout@v2
  12. - name: Set up outputs directory
  13. run: mkdir -p electronics/build/outputs
  14. - name: Install dependencies
  15. run: ./electronics/scripts/dependencies.sh
  16. - name: Export JLCPCB fabrication files [view_base]
  17. run: |
  18. ./electronics/scripts/export_jlcpcb.py electronics/view_base/view_base.kicad_pcb
  19. cp -r electronics/build/view_base-jlc electronics/build/outputs
  20. - name: Export PCB overview PDF [view_base]
  21. run: |
  22. ./electronics/scripts/generate_pdf.py electronics/view_base/view_base.kicad_pcb
  23. cp electronics/build/view_base-pcb-packet.pdf electronics/build/outputs
  24. env:
  25. PYTHONUNBUFFERED: 1
  26. - name: Render PCB 3D [view_base]
  27. run: |
  28. ./electronics/scripts/export_3d.py electronics/view_base/view_base.kicad_pcb --suffix front --width 1280 --height 1280 --skip-virtual --color-soldermask 0.95 0.95 0.95 --color-silk 0.1 0.1 0.1 transform z+ z+
  29. cp electronics/build/view_base-front-3d.png electronics/build/outputs
  30. ./scripts/annotate_image.sh electronics/build/outputs/view_base-front-3d.png
  31. ./electronics/scripts/export_3d.py electronics/view_base/view_base.kicad_pcb --suffix back --width 1280 --height 1280 --skip-virtual --color-soldermask 0.95 0.95 0.95 --color-silk 0.1 0.1 0.1 transform z+ z+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+
  32. cp electronics/build/view_base-back-3d.png electronics/build/outputs
  33. ./scripts/annotate_image.sh electronics/build/outputs/view_base-back-3d.png
  34. env:
  35. PYTHONUNBUFFERED: 1
  36. - name: Export JLCPCB fabrication files [view_screen]
  37. run: |
  38. ./electronics/scripts/export_jlcpcb.py electronics/view_screen/view_screen.kicad_pcb
  39. cp -r electronics/build/view_screen-jlc electronics/build/outputs
  40. - name: Export PCB overview PDF [view_screen]
  41. run: |
  42. ./electronics/scripts/generate_pdf.py electronics/view_screen/view_screen.kicad_pcb
  43. cp electronics/build/view_screen-pcb-packet.pdf electronics/build/outputs
  44. env:
  45. PYTHONUNBUFFERED: 1
  46. - name: Render PCB 3D [view_screen]
  47. run: |
  48. ./electronics/scripts/export_3d.py electronics/view_screen/view_screen.kicad_pcb --suffix front --width 1280 --height 1280 --skip-virtual --color-soldermask 0.95 0.95 0.95 --color-silk 0.1 0.1 0.1 transform z+ z+
  49. cp electronics/build/view_screen-front-3d.png electronics/build/outputs
  50. ./scripts/annotate_image.sh electronics/build/outputs/view_screen-front-3d.png
  51. ./electronics/scripts/export_3d.py electronics/view_screen/view_screen.kicad_pcb --suffix back --width 1280 --height 1280 --skip-virtual --color-soldermask 0.95 0.95 0.95 --color-silk 0.1 0.1 0.1 transform z+ z+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+ ry+
  52. cp electronics/build/view_screen-back-3d.png electronics/build/outputs
  53. ./scripts/annotate_image.sh electronics/build/outputs/view_screen-back-3d.png
  54. env:
  55. PYTHONUNBUFFERED: 1
  56. - name: Export artifacts (KiBot) [view_base]
  57. uses: INTI-CMNB/KiBot@fb6d637c17fbba2daf005a9a7972e4c02c1c997c
  58. with:
  59. config: electronics/view_base/view_base.kibot.yml
  60. dir: electronics/build/outputs
  61. schema: 'electronics/view_base/view_base.sch'
  62. board: 'electronics/view_base/view_base.kicad_pcb'
  63. - name: Export artifacts (KiBot) [view_screen]
  64. uses: INTI-CMNB/KiBot@fb6d637c17fbba2daf005a9a7972e4c02c1c997c
  65. with:
  66. config: electronics/view_screen/view_screen.kibot.yml
  67. dir: electronics/build/outputs
  68. schema: 'electronics/view_screen/view_screen.sch'
  69. board: 'electronics/view_screen/view_screen.kicad_pcb'
  70. - name: Archive artifacts
  71. uses: actions/upload-artifact@v2
  72. if: always()
  73. with:
  74. name: electronics
  75. path: |
  76. electronics/build
  77. - name: Configure AWS Credentials
  78. if: github.event_name == 'push' && github.repository_owner == 'scottbez1'
  79. uses: aws-actions/configure-aws-credentials@v1
  80. with:
  81. aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  82. aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  83. aws-region: us-east-1
  84. - name: Sync artifacts to S3
  85. if: github.event_name == 'push' && github.repository_owner == 'scottbez1'
  86. run: |
  87. aws s3 sync electronics/build/outputs s3://smartknob-artifacts/${GITHUB_REF#refs/heads/}/electronics --delete --cache-control max-age=0,no-cache