Skip to content

The first fully routed PCB. #6

The first fully routed PCB.

The first fully routed PCB. #6

Workflow file for this run

name: Kicad - production files generator
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
paths:
- '**.kicad_pcb'
- '**.kicad_sch'
- '**.kicad_pro'
- '**.yml'
- 'doc/assets'
workflow_dispatch:
env:
schema: "hw/sch_pcb/${{ github.event.repository.name }}.kicad_sch"
board: "hw/sch_pcb/${{ github.event.repository.name }}.kicad_pcb"
project: ${{ github.event.repository.name }}
branch: ${{ github.head_ref || github.ref_name }}
dir: "hw/out"
kibot: "doc/assets/kibot"
jobs:
ERC:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.pat }}
ref: ${{ github.head_ref }}
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/erc.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}
DRC:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.pat }}
ref: ${{ github.head_ref }}
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/drc.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}
schematics:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.pat }}
ref: ${{ github.head_ref }}
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/schematics.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}_docs
- uses: actions/upload-artifact@v3
if: ${{ success() }}
with:
name: doc_sch
path: ${{ env.dir }}_docs/**
placement:
name: "Placement and XML"
runs-on: ubuntu-latest
#continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.pat }}
ref: ${{ github.head_ref }}
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/placement.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}_docs
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/xml.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}_docs
- name: "Rename output"
run: |
for file in $(find ${{env.dir}} -type f); do sudo mv "${file}" "${file//${{env.project}}/${{env.branch}}}" ; done
for file in $(find ${{env.dir}}_docs -type f); do sudo mv "${file}" "${file//${{env.project}}/${{env.branch}}}" ; done
- uses: actions/upload-artifact@v3
if: ${{ success() }}
with:
name: doc_xml
path: |
hw/sch_pcb/*.xml
hw/sch_pcb/*.csv
# Zde se zahazuji debugovaci videa
- uses: actions/upload-artifact@v3
if: ${{ success() }}
with:
name: doc_placement
path: |
${{ env.dir }}_docs/**/*.pdf
${{ env.dir }}_docs/**/*.svg
${{ env.dir }}_docs/**/*.csv
report:
runs-on: ubuntu-latest
#continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.pat }}
ref: ${{ github.head_ref }}
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/report.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}_report
- uses: actions/upload-artifact@v3
if: ${{ success() }}
with:
name: doc_report
path: ${{ env.dir }}_report/
ibom:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.pat }}
ref: ${{ github.head_ref }}
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/ibom.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}_ibom
- name: "Rename output"
run: for file in $(find ${{env.dir}} -type f); do sudo mv "${file}" "${file//${{env.project}}/${{env.branch}}}" ; done
- uses: actions/upload-artifact@v3
if: ${{ success() }}
with:
name: doc_ibom
path: ${{ env.dir }}_ibom/
# fabrications
gerbers:
name: "Fabrication: Gerebrs, Drill and PnP"
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.pat }}
ref: ${{ github.head_ref }}
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/gerbers.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}_gerbers
verbose: 3
- name: "Rename output"
run: for file in $(find ${{env.dir}}_gerbers -type f); do sudo mv "${file}" "${file//${{env.project}}/${{env.branch}}}" || true ; done
- uses: actions/upload-artifact@v2
if: ${{ success() }}
with:
name: hw_cam_profi
path: ${{ env.dir }}_gerbers/gerbers/**
graphics:
name: "CAD and render"
runs-on: ubuntu-latest
#continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.pat }}
ref: ${{ github.head_ref }}
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/cad.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}_cad
- uses: INTI-CMNB/KiBot@v2_dk7
with:
config: ${{ env.kibot }}/render.kibot.yaml
schema: ${{ env.schema }}
board: ${{ env.board }}
dir: ${{ env.dir }}_img
verbose: 3
- uses: actions/upload-artifact@v3
if: ${{ success() }}
with:
name: doc_cad
path: ${{ env.dir }}_cad/**
- uses: actions/upload-artifact@v3
if: ${{ success() }}
with:
name: doc_img
path: ${{ env.dir }}_img/img/**
UPDATE_REPO:
runs-on: ubuntu-latest
name: Update repository
needs: [graphics, gerbers, schematics, placement, report, ibom]
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.pat }}
- run: |
git pull --force --rebase || true
git submodule update --remote || true
- name: Download a Build Artifact
uses: actions/[email protected]
- name: Remove old manufarturing data
run: |
rm -r hw/cam_profi || true
rm -r doc/gen || true
- name: Extract to right position
run: |
mkdir doc || true
mkdir doc/gen || true
mkdir doc/gen/img || true
mkdir doc/img || true
mkdir doc/img/render || true
mkdir hw || true
mkdir hw/cam_profi || true
mkdir hw/cam_profi/gbr || true
mkdir hw/cam_profi/PnP || true
mkdir hw/cam_profi/ibom || true
cp -r doc_img/* doc/gen/img || true
cp -r doc_cad/cad/* doc/gen || true
mv -r hw_cam_profi/PnP hw/cam_profi/PnP || true
cp -r hw_cam_profi/* hw/cam_profi/gbr || true
cp -r doc_sch/docs/* doc/gen || true
cp -r doc_xml/* hw/cam_profi || true
cp -r doc_sch/img/pcb/* doc/gen/img || true
cp -r doc_placement/doc* hw/cam_profi || true
cp -r doc_report/* doc/gen || true
cp -r doc_ibom/docs/* hw/cam_profi/ibom || true
mv hw/cam_profi/grb/PnP hw/cam_profi/PnP || true
rm -r doc_img || true
rm -r doc_cad || true
rm -r hw_cam_profi || true
rm -r doc_sch || true
rm -r doc_placement || true
rm -r doc_xml || true
rm -r doc_report || true
rm -r doc_ibom || true
git add . -f
- uses: stefanzweifel/[email protected]
with:
commit_message: Update actions products
add_options: '-A -f'