| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- name: Export Electronics
- on:
- push:
- paths:
- - 'electronics/**'
- - 'util/**'
- - 'scripts/**'
- - '.github/workflows/electronics.yml'
- pull_request:
- paths:
- - 'electronics/**'
- - 'util/**'
- - 'scripts/**'
- - '.github/workflows/electronics.yml'
- jobs:
- export-electronics:
- name: Export Electronics
- runs-on: ubuntu-22.04
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
- - name: Set up outputs directory
- run: mkdir -p electronics/build/outputs
- - name: Install dependencies
- run: ./electronics/scripts/dependencies.sh
- - name: Export JLCPCB fabrication files [view_base]
- run: |
- ./electronics/scripts/export_jlcpcb.py --release-prefix releases/view_base/ electronics/view_base/view_base.kicad_pcb
- cp -r electronics/build/view_base-jlc electronics/build/outputs
- - name: Export PCB overview PDF [view_base]
- run: |
- ./electronics/scripts/generate_pdf.py --release-prefix releases/view_base/ electronics/view_base/view_base.kicad_pcb
- cp electronics/build/view_base-pcb-packet.pdf electronics/build/outputs
- env:
- PYTHONUNBUFFERED: 1
- - name: Export JLCPCB fabrication files [view_screen]
- run: |
- ./electronics/scripts/export_jlcpcb.py --release-prefix releases/view_screen/ electronics/view_screen/view_screen.kicad_pcb
- cp -r electronics/build/view_screen-jlc electronics/build/outputs
- - name: Export PCB overview PDF [view_screen]
- run: |
- ./electronics/scripts/generate_pdf.py --release-prefix releases/view_screen/ electronics/view_screen/view_screen.kicad_pcb
- cp electronics/build/view_screen-pcb-packet.pdf electronics/build/outputs
- env:
- PYTHONUNBUFFERED: 1
- - name: Export artifacts (KiBot) [view_base]
- uses: INTI-CMNB/KiBot@db2185ac51d83f729e632c38e23b2d9df7ccd460
- with:
- config: electronics/view_base/view_base.kibot.yml
- dir: electronics/build/outputs
- schema: 'electronics/view_base/view_base.kicad_sch'
- board: 'electronics/view_base/view_base.kicad_pcb'
- - name: Export artifacts (KiBot) [view_screen]
- uses: INTI-CMNB/KiBot@db2185ac51d83f729e632c38e23b2d9df7ccd460
- with:
- config: electronics/view_screen/view_screen.kibot.yml
- dir: electronics/build/outputs
- schema: 'electronics/view_screen/view_screen.kicad_sch'
- board: 'electronics/view_screen/view_screen.kicad_pcb'
- - name: Update 3D artifacts [view_base]
- # Need to chown files back to runner, as ownership gets set to root by the KiBot Actions
- run: |
- sudo chown runner:docker electronics/build/outputs/*
- mv electronics/build/outputs/view_base-3D_top.png electronics/build/outputs/view_base-front-3d.png
- ./scripts/annotate_image.sh electronics/build/outputs/view_base-front-3d.png
- mv electronics/build/outputs/view_base-3D_bottom.png electronics/build/outputs/view_base-back-3d.png
- ./scripts/annotate_image.sh electronics/build/outputs/view_base-back-3d.png
- env:
- PYTHONUNBUFFERED: 1
- - name: Update 3D artifacts [view_screen]
- # Need to chown files back to runner, as ownership gets set to root by the KiBot Actions
- run: |
- sudo chown runner:docker electronics/build/outputs/*
- mv electronics/build/outputs/view_screen-3D_top.png electronics/build/outputs/view_screen-front-3d.png
- ./scripts/annotate_image.sh electronics/build/outputs/view_screen-front-3d.png
- mv electronics/build/outputs/view_screen-3D_bottom.png electronics/build/outputs/view_screen-back-3d.png
- ./scripts/annotate_image.sh electronics/build/outputs/view_screen-back-3d.png
- env:
- PYTHONUNBUFFERED: 1
- - name: Archive artifacts
- uses: actions/upload-artifact@v2
- if: always()
- with:
- name: electronics
- path: |
- electronics/build
- - name: Configure AWS Credentials
- if: github.event_name == 'push' && github.repository_owner == 'scottbez1'
- uses: aws-actions/configure-aws-credentials@v1
- with:
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- aws-region: us-east-1
- - name: Sync artifacts to S3
- if: github.event_name == 'push' && github.repository_owner == 'scottbez1'
- run: |
- aws s3 sync electronics/build/outputs s3://smartknob-artifacts/${GITHUB_REF#refs/heads/}/electronics --delete --cache-control max-age=0,no-cache
|