Merge pull request #149 from CloudyPadmal/pslab-v6 #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |