Skip to content

Merge pull request #149 from CloudyPadmal/pslab-v6 #14

Merge pull request #149 from CloudyPadmal/pslab-v6

Merge pull request #149 from CloudyPadmal/pslab-v6 #14

Workflow file for this run

name: pslab-hardware
on:
push:
branches: [ pslab-v6 ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Download project files
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install KiCAD
run: |
sudo add-apt-repository --yes ppa:kicad/kicad-7.0-releases
sudo apt update
sudo apt install --install-recommends kicad -y -qq
- name: Copy configuration files
run: |
cd ~/.config
mkdir kicad
cd kicad
wget https://gist.githubusercontent.com/CloudyPadmal/dad9975e02bf39d6a3d2851ca53981cc/raw/0f342a3bba82b1af9789be689e5c00b4ad914015/kicad_common
- name: Install kibot
run: |
wget https://set-soft.github.io/debian/kibot.list
sudo cp kibot.list /etc/apt/sources.list.d/
wget https://set-soft.github.io/debian/kibot.gpg
sudo cp kibot.gpg /etc/apt/
sudo apt-get update
sudo apt install kibot kidiff
- name: Install dependencies
run: |
pip install pcb-tools image
sudo apt install xvfb recordmydesktop xdotool libmagickwand-dev librsvg2-bin imagemagick poppler-utils
- name: Change Imagemagic Policy
run: sudo sed -i 's/<policy domain="coder" rights="none" pattern="PDF"/<policy domain="coder" rights="read|write" pattern="PDF"/g' /etc/ImageMagick-6/policy.xml
- name: Update kibot configuration
run: |
commit_id=$(git ls-remote https://github.com/fossasia/pslab-hardware.git refs/heads/pslab-v6 | cut -f 1)
commit_id_escaped=$(sed 's/[&/\]/\\&/g' <<< "$commit_id")
sed -i "s/old: 'HEAD'/old: '$commit_id_escaped'/g" schematics/CI.kibot.yaml
- name: Run build
run: |
cd schematics
sudo kibot -v
- name: Publish PDF schematic
uses: actions/upload-artifact@v3
with:
name: schematic-pdf
path: docs/schematics/PSLab.pdf
- name: Publish interactive bill of materials
uses: actions/upload-artifact@v3
with:
name: interactive-bom
path: docs/components/InteractiveBoM.html
- name: Publish bill of materials
uses: actions/upload-artifact@v3
with:
name: bill-of-materials
path: docs/components/BillOfMaterials.csv
- name: Publish gerbers
uses: actions/upload-artifact@v3
with:
name: gerbers
path: output/Gerber/
- name: Publish centroids
uses: actions/upload-artifact@v3
with:
name: pick-and-place
path: docs/position_files/PositionFile.csv
- name: Electric Rule Check
uses: actions/upload-artifact@v3
with:
name: electric-rule-check
path: schematics/PSLab-erc.txt
- name: Design Rule Check
uses: actions/upload-artifact@v3
with:
name: design-rule-check
path: schematics/PSLab-drc.txt
- name: Difference
uses: actions/upload-artifact@v3
with:
name: difference
path: |
docs/components/diff_pcb.pdf
docs/components/diff_schematic.pdf