From 9fbb6c4f31ad1f9b36a5a3c079798a0f59478394 Mon Sep 17 00:00:00 2001 From: Shane Sewell <2242776+ssewell@users.noreply.github.com> Date: Sun, 17 Mar 2024 16:13:54 -0500 Subject: [PATCH] Add KLC checks for Kav Simulations library --- .github/workflows/kicad-klc-check.yml | 36 ++++++++++++++++----------- .vscode/tasks.json | 33 +++++++++++++++++++++--- 2 files changed, 51 insertions(+), 18 deletions(-) diff --git a/.github/workflows/kicad-klc-check.yml b/.github/workflows/kicad-klc-check.yml index cfff46b..f518982 100644 --- a/.github/workflows/kicad-klc-check.yml +++ b/.github/workflows/kicad-klc-check.yml @@ -4,45 +4,51 @@ on: # Triggers the workflow on push or pull request events but only for the "main" branch # and if relevant files have changed push: - branches: [ "main" ] - paths: + branches: ["main"] + paths: - "SimPanel.kicad_sym" + - "Kav_Simulations.kicad_sym" - "SimPanel.pretty/*.kicad_mod" + - "Kav_Simulations.pretty/*.kicad_mod" pull_request: - branches: [ "main" ] - paths: + branches: ["main"] + paths: - "SimPanel.kicad_sym" + - "Kav_Simulations.kicad_sym" - "SimPanel.pretty/*.kicad_mod" + - "Kav_Simulations.pretty/*.kicad_mod" jobs: KLC_ComplianceCheck: runs-on: ubuntu-latest - steps: + steps: - uses: actions/checkout@v3 - name: Setup Python uses: actions/setup-python@v4.7.0 with: - python-version: '3.10.11' + python-version: "3.10.11" # We use this to limit KLC checking to only changed files - id: footprint_files name: Get Changed Files uses: masesgroup/retrieve-changed-files@v2 with: - format: 'json' + format: "json" # We must check all symbols for compliance, since KiCad stores each library in a single file - name: KLC Symbol Check - run: python ./library-utils/klc-check/check_symbol.py ./SimPanel.kicad_sym -vv - + run: | + python ./library-utils/klc-check/check_symbol.py ./SimPanel.kicad_sym -vv + python ./library-utils/klc-check/check_symbol.py ./Kav_Simulations.kicad_sym -vv + # We only check footprints where the underlying file has changed - name: KLC Footprint Check run: | - readarray -t changed_files <<<"$(jq -r '.[]' <<<'${{ steps.footprint_files.outputs.added_modified }}')" - for changed_file in ${changed_files[@]}; do - if [[ ${changed_file} == *.kicad_mod ]]; then - python ./library-utils/klc-check/check_footprint.py ./${changed_file} -vv - fi - done \ No newline at end of file + readarray -t changed_files <<<"$(jq -r '.[]' <<<'${{ steps.footprint_files.outputs.added_modified }}')" + for changed_file in ${changed_files[@]}; do + if [[ ${changed_file} == *.kicad_mod ]]; then + python ./library-utils/klc-check/check_footprint.py ./${changed_file} -vv + fi + done diff --git a/.vscode/tasks.json b/.vscode/tasks.json index a0603b2..72a8e69 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -5,12 +5,17 @@ "tasks": [ { "label": "KLC - Check All", - "dependsOn": ["KLC - Check Symbols", "KLC - Check Footprints"], + "dependsOn": [ + "KLC - Check Symbols (SimPanel)", + "KLC - Check Footprints (SimPanel)", + "KLC - Check Symbols (Kav Simulations)", + "KLC - Check Footprints (Kav Simulations)" + ], "dependsOrder": "sequence", "problemMatcher": [] }, { - "label": "KLC - Check Symbols", + "label": "KLC - Check Symbols (SimPanel)", "type": "shell", "command": "python", "args": [ @@ -21,7 +26,7 @@ "problemMatcher": [] }, { - "label": "KLC - Check Footprints", + "label": "KLC - Check Footprints (SimPanel)", "type": "shell", "command": "python", "args": [ @@ -30,6 +35,28 @@ "-vv" ], "problemMatcher": [] + }, + { + "label": "KLC - Check Symbols (Kav Simulations)", + "type": "shell", + "command": "python", + "args": [ + ".\\library-utils\\klc-check\\check_symbol.py", + ".\\Kav_Simulations.kicad_sym", + "-vv" + ], + "problemMatcher": [] + }, + { + "label": "KLC - Check Footprints (Kav Simulations)", + "type": "shell", + "command": "python", + "args": [ + ".\\library-utils\\klc-check\\check_footprint.py", + ".\\Kav_Simulations.pretty\\*", + "-vv" + ], + "problemMatcher": [] } ] }