on: workflow_dispatch: push: paths: - 'ergogen/footprints/*.js' - 'ergogen/config.yaml' - 'kibot/*.yaml' - '.github/workflows/*.yaml' - '.github/actions/*/action.yaml' - 'package.json' name: Build jobs: generate: runs-on: ubuntu-latest name: Generate steps: - name: Checkout uses: actions/checkout@v3 - name: Docker Cache uses: ScribeMD/docker-cache@0.3.3 with: key: docker-${{ runner.os }} - name: Use Node.js 17 uses: actions/setup-node@v3 with: node-version: 17.x cache: 'npm' - name: Install dependencies run: npm install - name: Generate unrouted PCBs with Ergogen (definition in package.json) run: npm run build - name: Export DSN uses: ./.github/actions/export-dsn with: boards: corney_island - name: Autoroute PCB uses: ./.github/actions/autoroute with: boards: corney_island - name: Import SES uses: ./.github/actions/import-ses with: boards: corney_island - name: DRC check uses: ./.github/actions/run-drc with: boards: corney_island - name: Export Gerbers uses: ./.github/actions/export-gerbers with: boards: corney_island - name: Persist output uses: actions/upload-artifact@v3 with: name: corney_island path: ergogen/output