69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
on:
|
|
workflow_dispatch:
|
|
push:
|
|
paths:
|
|
- '.github/workflows/*.yaml'
|
|
- '.github/actions/*/action.yaml'
|
|
- 'ergogen/footprints/*.js'
|
|
- 'ergogen/config.yaml'
|
|
- 'kibot/*'
|
|
- 'freerouting/*'
|
|
- 'package.json'
|
|
- '*.nix'
|
|
|
|
name: Build
|
|
jobs:
|
|
board:
|
|
runs-on: ubuntu-latest
|
|
name: Generate
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Docker Cache
|
|
uses: ScribeMD/docker-cache@0.3.3
|
|
with:
|
|
key: docker-${{ runner.os }}
|
|
- name: Use Node.js 20
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 20.x
|
|
cache: 'npm'
|
|
- name: Install dependencies
|
|
run: npm install
|
|
- name: Generate unrouted PCBs with Ergogen (definition in package.json)
|
|
run: npm run build
|
|
- name: Run KiBot to generate images, gerbers for the plates
|
|
uses: ./.github/actions/kibot
|
|
with:
|
|
boards: frontplate backplate controller_overlay
|
|
config: default
|
|
- name: Run KiBot to generate images, gerbers for the unrouted board
|
|
uses: ./.github/actions/kibot
|
|
with:
|
|
boards: corney_island corney_island_wireless
|
|
config: default
|
|
- name: Export DSN file for Freerouting
|
|
uses: ./.github/actions/export-dsn
|
|
with:
|
|
boards: corney_island corney_island_wireless
|
|
- name: Autoroute PCB
|
|
uses: ./.github/actions/autoroute
|
|
with:
|
|
boards: corney_island corney_island_wireless
|
|
- name: Import SES
|
|
uses: ./.github/actions/import-ses
|
|
with:
|
|
boards: corney_island corney_island_wireless
|
|
- name: Run KiBot to generate images, gerbers for the autorouted board
|
|
uses: ./.github/actions/kibot
|
|
with:
|
|
boards: corney_island_autorouted corney_island_wireless_autorouted
|
|
config: boards
|
|
- name: Persist output
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: corney_island
|
|
path: ergogen/output
|