Skip to content

Fixed JLCPCB part number #170 #77

Fixed JLCPCB part number #170

Fixed JLCPCB part number #170 #77

name: pcb-artifacts-esp32-controller
on:
push:
paths:
- 'ControllerCircuit/**.sch'
- 'ControllerCircuit/**.kicad_pcb'
- '.github/workflows/pcb-artifacts-esp32-controller.yaml'
- 'ControllerCircuit/config-2layer.kibot.yaml'
pull_request:
paths:
- 'ControllerCircuit/**.sch'
- 'ControllerCircuit/**.kicad_pcb'
- '.github/workflows/pcb-artifacts-esp32-controller.yaml'
- 'ControllerCircuit/config-2layer.kibot.yaml'
# Allows you to run this work flow manually from the Actions tab
workflow_dispatch:
jobs:
generate-artifacts:
runs-on: ubuntu-latest
container: setsoft/kicad_auto:latest
steps:
- name: Update system repositories, Install Required Libraries and Initialize git-lfs
run: |
apt update
apt -y install git git-lfs zip librsvg2-bin imagemagick
git lfs install
- name: Checkout Repository
uses: actions/checkout@v3
with:
lfs: true
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v6
- name: Running on branch
run: |
echo "Running on branch: ${{ steps.branch-name.outputs.current_branch }}"
- name: Date PCB
run: |
export DDDD=$(date)
echo "DDDD = ${DDDD}"
sed -i "s!<<date>>!${DDDD}!" ModuleV490-AllInOne/Module_16S.kicad_pcb
- name: Update the PCBs on default branch with git hash
if: steps.branch-name.outputs.is_default == 'true'
run: |
export COMMIT=$(git rev-parse --short HEAD)
echo "COMMIT = ${COMMIT}"
sed -i "s!<<hash>>!${COMMIT}!" ControllerCircuit/ControllerCircuit.kicad_pcb
- name: Update the PCBs with the git hash and BETA.
if: steps.branch-name.outputs.is_default != 'true'
run: |
export COMMIT=$(git rev-parse --short HEAD)
echo "COMMIT = ${COMMIT}"
sed -i "s!<<hash>>!BETA-${COMMIT}!" ControllerCircuit/ControllerCircuit.kicad_pcb
- name: Remove existing export folder
run: |
rm -rf ./ControllerCircuit/export/
- name: Run KiBot
uses: INTI-CMNB/KiBot@v2_k7
with:
config: ./ControllerCircuit/config-2layer.kibot.yaml
dir: ./ControllerCircuit/export
schema: './ControllerCircuit/ControllerCircuit.kicad_sch'
board: './ControllerCircuit/ControllerCircuit.kicad_pcb'
# Splitting this out to ensure a failed kibot run will mark a check as failed.
- name: Prepare Gerbers artifact
run: |
cd ControllerCircuit/export/gerbers
zip -r -j ../controllercircuit_esp32_gerbers.zip *
- name: upload artifacts
uses: actions/upload-artifact@v3
if: steps.branch-name.outputs.is_default != 'true'
with:
name: controllercircuit_esp32_gerbers
path: |
ControllerCircuit/export/controllercircuit_esp32_gerbers.zip
ControllerCircuit/export/ControllerCircuit_bom_jlc.csv
ControllerCircuit/export/ControllerCircuit_cpl_jlc.csv
- name: Commit files
# if: steps.branch-name.outputs.is_default == 'true'
run: |
git add -f ControllerCircuit/export
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git status
git commit -m "CI: pcb-artifacts-esp32-controller"
git push -u origin