Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kaklik authored Jul 12, 2024
0 parents commit f651936
Show file tree
Hide file tree
Showing 74 changed files with 1,081,874 additions and 0 deletions.
322 changes: 322 additions & 0 deletions .github/workflows/kicad_outputs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,322 @@
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

- name: "Collect files"
run: |
tree
mkdir doc_xml || true ;
mv hw/sch_pcb/*.xml doc_xml/ || true;
mv hw/out_docs/*.csv doc_xml/ || true;
- uses: actions/upload-artifact@v3
if: ${{ success() }}
with:
name: doc_xml
path: |
doc_xml
# 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/assembly || true
mkdir hw/cam_profi/ibom || true

cp -r doc_img/* doc/gen/img || true
cp -r doc_cad/cad/* doc/gen || 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
mv -r doc_placement/PnP/* hw/cam_profi/assembly || true
cp -r doc_placement/* hw/cam_profi/assembly || true
cp -r doc_report/* doc/gen || true
cp -r doc_ibom/docs/* hw/cam_profi || true

mv hw/cam_profi/gbr/PnP/ hw/cam_profi/assembly || 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'
45 changes: 45 additions & 0 deletions .github/workflows/metadata_updater.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Metadata updater

on:
push:
workflow_dispatch:

permissions:
contents: write

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'

- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest
if [ -f doc/assets/workflows/requirements.txt ]; then pip install -r doc/assets/workflows/requirements.txt; fi
- name: Update metadata
env:
gh_repo: ${{ github.event.repository.name }}
gh_url: ${{ github.server_url }}/${{ github.repository }}
gh_branch: ${{ github.head_ref || github.ref_name }}
gh_description: ${{ github.event.repository.name }}
gh_repository: ${{ github.repository }}
gh_token: ${{ secrets.GITHUB_TOKEN }}
run: |
python3 doc/assets/workflows/update_metadata.py
python3 doc/assets/workflows/update_kitspace.py
- uses: stefanzweifel/[email protected]
with:
commit_message: Update metadata files
commit_options: '-a'
Loading

0 comments on commit f651936

Please sign in to comment.