Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
name: Export Electronics
on:
push:
pull_request:
jobs:
export-electronics:
name: Export Electronics
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up outputs directory
run: mkdir -p electronics/build/outputs
- name: Install dependencies
run: ./ci/electronics/dependencies.sh
- name: fader_buddy_main -- Gen JLCPCB fabrication files
run: |
./ci/electronics/export_jlcpcb.py --release-prefix releases/electronics/ --assembly-schematic electronics/fader_buddy_main.kicad_sch electronics/fader_buddy_main.kicad_pcb
cp -r electronics/build/fader_buddy_main-jlc electronics/build/outputs
- name: fader_buddy_main -- Gen PCB overview PDF
run: |
./ci/electronics/generate_pdf.py --release-prefix releases/electronics/ electronics/fader_buddy_main.kicad_pcb
cp electronics/build/fader_buddy_main-pcb-packet.pdf electronics/build/outputs
env:
PYTHONUNBUFFERED: 1
- name: fader_buddy_main -- Gen schematic, iBOM, 3d (KiBot)
uses: INTI-CMNB/KiBot@b139bf69c75ffffa941c6f5876af42f3f3efd501
with:
config: electronics/fader_buddy_main.kibot.yml
dir: electronics/build/outputs
schema: 'electronics/fader_buddy_main.kicad_sch'
board: 'electronics/fader_buddy_main.kicad_pcb'
- name: fader_buddy_main -- KiBot fix permissions
# 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/*
- name: fader_buddy_main -- Rasterize schematic PDF
run: |
convert -density 96 electronics/build/outputs/fader_buddy_main-schematic.pdf \
-background white -alpha remove \
electronics/build/outputs/fader_buddy_main-schematic.png
- name: fader_buddy_main -- Annotate images
run: |
./ci/util/annotate_image.sh electronics/build/outputs/fader_buddy_main-3D_top.png
./ci/util/annotate_image.sh electronics/build/outputs/fader_buddy_main-3D_bottom.png
./ci/util/annotate_image.sh electronics/build/outputs/fader_buddy_main-3D_perspective.png
env:
PYTHONUNBUFFERED: 1
- name: Archive artifacts
uses: actions/upload-artifact@v4.6.0
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-node16
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://motorfader-artifacts/${GITHUB_REF#refs/heads/}/electronics --delete --cache-control max-age=0,no-cache
e7c9d85d6This file is pinned to the selected release. Download the original to open it in your design tool.