v2.13 #27
Workflow file for this run
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: Release | |
on: | |
release: | |
types: [published] | |
jobs: | |
build_pcb2blender_exporter: | |
name: Build pcb2blender_exporter KiCad Addon | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Build KiCad Addon | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pip install requests | |
NAME="pcb2blender_exporter_$(sed "s/-b.*//;s/-/_/;s/\./-/g" <<< $GITHUB_REF_NAME).zip" | |
python .github/workflows/build_kicad_addon.py $GITHUB_REF_NAME \ | |
--source pcb2blender_exporter \ | |
--icon images/icon.png \ | |
--extra-files images/blender_icon_32x32.png | |
sha256sum $NAME | cut -c -64 | tr -d "\n" > $NAME.sha256 | |
gh release upload $GITHUB_REF_NAME $NAME | |
gh release upload $GITHUB_REF_NAME $NAME.sha256 | |
gh release upload $GITHUB_REF_NAME version.json | |
- name: Create Content Library Metadata Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: KiCad Content Library Metadata | |
path: metadata.json | |
build_pcb2blender_importer: | |
name: Build pcb2blender_importer Blender Extension | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
- name: Install Build Dependencies | |
run: pip install -r requirements-dev.txt | |
- name: Update Extension Dependencies | |
run: python download_dependencies.py | |
- name: Set up Blender | |
run: | | |
SNAP_CHANNEL=$( | |
snap info blender \ | |
| grep -F " ${GITHUB_REF_NAME##*-b}" | grep stable \ | |
| head -n 1 | cut -c 3- | sed "s/: .*//" | |
) | |
SNAP_FILE=$( | |
snap download blender --channel=$SNAP_CHANNEL \ | |
| tail -n 1 | sed "s/.* snap install //" | |
) | |
unsquashfs -q -n -dest blender-snap $SNAP_FILE | |
sudo snap try blender-snap --classic | |
curl https://bootstrap.pypa.io/get-pip.py -s -O | |
- name: Install Pytest in Blender | |
run: | | |
BLENDER_PYTHON_DIR="blender-snap/${GITHUB_REF_NAME##*-b}/python/bin" | |
BLENDER_PYTHON="$BLENDER_PYTHON_DIR/$(ls $BLENDER_PYTHON_DIR | sed "s/ .*//")" | |
$BLENDER_PYTHON get-pip.py | |
$BLENDER_PYTHON -m pip install pytest | |
- name: Build and Install Blender Extension | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
NAME="pcb2blender_importer_$(sed "s/-k.*-/_/;s/\./-/g" <<< $GITHUB_REF_NAME).zip" | |
echo "extension_file=" | |
blender --command extension build \ | |
--source-dir pcb2blender_importer \ | |
--output-filepath $NAME | |
blender --command extension install-file $NAME -r user_default -e | |
sha256sum $NAME | cut -c -64 | tr -d "\n" > $NAME.sha256 | |
gh release upload $GITHUB_REF_NAME $NAME | |
gh release upload $GITHUB_REF_NAME $NAME.sha256 | |
- name: Run Tests | |
run: pytest -k test_importer tests/ |