Allow prerelease use for pylucore and Improve version checking in releaser #41
This file contains hidden or 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: 2025 Howetuft, Johannes Hinrichs (CodeFHD) | |
| # | |
| # SPDX-License-Identifier: GPL-3.0-or-later | |
| name: BlendLuxCore Build Bundle | |
| on: | |
| pull_request: | |
| inputs: | |
| build_type: | |
| required: false | |
| type: string | |
| default: "Latest" | |
| workflow_call: | |
| inputs: | |
| build_type: | |
| required: true | |
| type: string | |
| default: "Latest" | |
| outputs: | |
| commit: | |
| description: "The commit that has been checked out" | |
| value: ${{ jobs.build-bundle.outputs.commit }} | |
| branch: | |
| description: "The branch that has been checked out" | |
| value: ${{ jobs.build-bundle.outputs.branch }} | |
| attestation-url: | |
| description: "The url to the attestations" | |
| value: ${{ jobs.attest-bundle.outputs.attestation-url }} | |
| workflow_dispatch: | |
| inputs: | |
| build_type: | |
| required: true | |
| type: string | |
| default: "Release" | |
| jobs: | |
| build-bundle: | |
| name: Build bundle | |
| runs-on: ubuntu-latest | |
| outputs: | |
| commit: ${{ steps.current-commit.outputs.commit }} | |
| branch: ${{ steps.current-commit.outputs.branch }} | |
| version: ${{ steps.output-version.outputs.version }} | |
| steps: | |
| - name: Checkout main repository | |
| uses: actions/checkout@v6 | |
| - name: Get current commit | |
| id: current-commit | |
| run: | | |
| echo "commit=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT | |
| echo "branch=$(git symbolic-ref HEAD)" >> $GITHUB_OUTPUT | |
| echo "commit=$(git rev-parse HEAD)" | |
| echo "branch=$(git symbolic-ref HEAD)" | |
| - name: Prepare Blender install | |
| uses: gerlero/apt-install@v1 | |
| with: | |
| packages: libxxf86vm1 libxfixes3 libxi6 libxkbcommon0 libgl1 | |
| - name: Prepare Python | |
| run: touch requirements.txt | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Set up Blender | |
| uses: moguri/setup-blender@v1 | |
| with: | |
| blender-version: '4.2.8' | |
| - name: Set up cmake | |
| uses: lukka/get-cmake@latest | |
| - name: Package bundle | |
| shell: bash | |
| run: | | |
| build_dir="${{ github.workspace }}/build" | |
| mkdir ${build_dir} | |
| cmake -B ${build_dir} -S . -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} | |
| cmake --build ${build_dir} | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| id: upload | |
| with: | |
| name: "BlendLuxCore" | |
| path: "${{ github.workspace }}/build/out/BlendLuxCore-*.zip" | |
| attest-wheels: | |
| needs: [build-bundle] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| attestations: write | |
| id-token: write | |
| outputs: | |
| attestation-url: ${{ steps.attestation-step.outputs.attestation-url }} | |
| steps: | |
| - uses: actions/download-artifact@v7 | |
| if: ${{ !env.ACT }} | |
| with: | |
| path: ${{ github.workspace }}/dist | |
| merge-multiple: false | |
| - name: Generate artifact attestations | |
| id: attestation-step | |
| if: ${{ !env.ACT }} | |
| uses: actions/attest-build-provenance@v3 | |
| with: | |
| subject-path: ${{ github.workspace }}/dist/* |