CI: separate artifacts #3
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
# SPDX-FileCopyrightText: 2024 Howetuft | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
name: BlendLuxCore Blender Bundles | |
on: | |
pull_request: | |
push: | |
branches: | |
- for_blender_4.2_wheels | |
workflow_dispatch: | |
release: | |
types: | |
- published | |
jobs: | |
build_bundles: | |
name: Build bundles | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
platform: [ | |
macosx_11_0_arm64, | |
macosx_10_13_x86_64, | |
manylinux_2_28_x86_64, | |
win_amd64 | |
] | |
env: | |
WHEELS_VERSION: 2.9a1.post5 | |
steps: | |
- name: Checkout main repository | |
uses: actions/checkout@v4 | |
with: | |
path: BlendLuxCore | |
- name: Prepare Blender install | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libxxf86vm1 libxfixes3 libxi6 libxkbcommon0 libgl1 | |
- uses: moguri/setup-blender@v1 | |
with: | |
blender-version: '4.2.4' | |
- run: blender --version | |
- name: Retrieve wheel | |
shell: bash | |
run: | | |
pip download "pyluxcore==${WHEELS_VERSION}" \ | |
--no-deps \ | |
--dest ${dest} \ | |
--only-binary=:all: \ | |
--python-version=3.11 \ | |
--platform=$platform | |
# This one is for linux distro that would recompile Blender against | |
# 3.12 (like ArchLinux) | |
if [[ ${{ matrix.platform }} == 'manylinux_2_28_x86_64' ]]; do | |
pip download "pyluxcore==${WHEELS_VERSION}" \ | |
--no-deps \ | |
--dest ${dest} \ | |
--only-binary=:all: \ | |
--python-version=3.12 \ | |
--platform=manylinux_2_28_x86_64 | |
fi | |
- name: Package bundles | |
shell: bash | |
run: | | |
echo "${{ github.workspace }}" | |
blender --command extension build \ | |
--source-dir "${{ github.workspace }}/BlendLuxCore" | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ${{ github.workspace }}/BlendLuxCore-*.zip |