Skip to content

Commit 16501f1

Browse files
authored
Merge pull request #976 from CodeFHD/for_v2.10
Latest release pipeline
2 parents 4ba5632 + c0e64ba commit 16501f1

15 files changed

Lines changed: 167 additions & 695 deletions

.github/FUNDING.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
#issuehunt: # Replace with a single IssueHunt username
1212
#otechie: # Replace with a single Otechie username
1313

14-
custom: ["https://salt.bountysource.com/teams/luxcorerender"]
14+
# custom: ["https://salt.bountysource.com/teams/luxcorerender"]
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,16 @@
1-
# SPDX-FileCopyrightText: 2024 Howetuft
1+
# SPDX-FileCopyrightText: 2025 Howetuft, Johannes Hinrichs (CodeFHD)
22
#
33
# SPDX-License-Identifier: Apache-2.0
44

5-
name: BlendLuxCore Blender Bundles
5+
name: BlendLuxCore Build Bundle
66

77
on:
88
pull_request:
9-
push:
10-
branches:
11-
- for_v2.10
12-
workflow_dispatch:
13-
release:
14-
types:
15-
- published
9+
workflow_call:
1610

1711
jobs:
18-
build_bundles:
19-
name: Build bundles
12+
build_bundle:
13+
name: Build bundle
2014
runs-on: ubuntu-latest
2115

2216
steps:
@@ -37,29 +31,24 @@ jobs:
3731
with:
3832
python-version: '3.11'
3933

40-
- uses: moguri/setup-blender@v1
34+
- name: Set up Blender
35+
uses: moguri/setup-blender@v1
4136
with:
4237
blender-version: '4.2.7'
4338

44-
- uses: lukka/get-cmake@latest
39+
- name: Set up cmake
40+
uses: lukka/get-cmake@latest
4541

4642
- name: Package bundle
4743
shell: bash
4844
run: |
4945
build_dir="${{ github.workspace }}/build"
5046
mkdir ${build_dir}
51-
cmake -B ${build_dir} -S .
47+
cmake -B ${build_dir} -S . -DCMAKE_BUILD_TYPE=Release
5248
cmake --build ${build_dir}
53-
unzip -q "${build_dir}/BlendLuxCore-*.zip" -d "${{ github.workspace }}/unzip"
5449
5550
- name: Upload artifact
5651
uses: actions/upload-artifact@v4
5752
with:
5853
name: "BlendLuxCore"
59-
path: "${{ github.workspace }}/unzip/*"
60-
61-
- name: Release
62-
uses: softprops/action-gh-release@v2
63-
if: github.event_name == 'release'
64-
with:
65-
files: ${{ github.workspace }}/build/BlendLuxCore-*.zip
54+
path: "${{ github.workspace }}/build/BlendLuxCore-*.zip"
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# SPDX-FileCopyrightText: 2025 Howetuft, Johannes Hinrichs (CodeFHD)
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: BlendLuxCore Create Latest Release
6+
7+
on:
8+
push:
9+
branches:
10+
- for_v2.10
11+
workflow_dispatch:
12+
13+
jobs:
14+
build_latest:
15+
name: Build Latest Bundle
16+
uses: ./.github/workflows/build_bundle.yml
17+
18+
create_release:
19+
name: Create Latest Release
20+
runs-on: ubuntu-latest
21+
needs: build_latest
22+
steps:
23+
24+
- name: Checkout main repository
25+
uses: actions/checkout@v4
26+
27+
- name: Get Bundle
28+
uses: actions/download-artifact@v4
29+
with:
30+
name: "BlendLuxCore"
31+
path: "${{ github.workspace }}/download/"
32+
33+
- name: Update the "latest" tag
34+
uses: richardsimko/update-tag@v1
35+
with:
36+
tag_name: latest
37+
env:
38+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39+
40+
- name: Delete old latest release
41+
shell: bash
42+
run: |
43+
echo false > ${{ github.workspace }}/tmp_release_test
44+
gh release list --json name > ${{ github.workspace }}/tmp_releases
45+
jq -r -c .[].name ${{ github.workspace }}/tmp_releases | while read i; do
46+
echo $i
47+
if [[ "$i" = "latest" ]]; then
48+
echo "FOUND"
49+
echo true > "${{ github.workspace }}/tmp_release_test"
50+
fi
51+
done
52+
TESTRESULT=$(cat ${{ github.workspace }}/tmp_release_test)
53+
echo RESULT
54+
echo $TESTRESULT
55+
if [[ $TESTRESULT = 'true' ]]; then
56+
echo DELETE
57+
gh release delete latest
58+
fi
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
62+
- name: Create new release
63+
uses: softprops/action-gh-release@v2
64+
with:
65+
tag_name: latest
66+
files: "${{ github.workspace }}/download/BlendLuxCore-*.zip"
67+
draft: false
68+
prerelease: true
69+
body: "This is the result of automatic compilation of the latest commits.\n\nPlease note that this release may be unstable and is not recommended for production use."
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# SPDX-FileCopyrightText: 2024 Howetuft
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: BlendLuxCore Create Release
6+
7+
on:
8+
release:
9+
types:
10+
- published
11+
12+
jobs:
13+
build_latest:
14+
name: Build Latest Bundle
15+
uses: ./.github/workflows/build_bundle.yml
16+
17+
create_release:
18+
name: Create release
19+
runs-on: ubuntu-latest
20+
needs: build_latest
21+
steps:
22+
23+
- name: Checkout main repository
24+
uses: actions/checkout@v4
25+
26+
- name: Get Bundle
27+
uses: actions/download-artifact@v4
28+
with:
29+
name: "BlendLuxCore"
30+
path: "${{ github.workspace }}/download/"
31+
32+
- name: Release
33+
uses: softprops/action-gh-release@v2
34+
if: github.event_name == 'release'
35+
with:
36+
files: "${{ github.workspace }}/download/BlendLuxCore-*.zip"

CMakeLists.txt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ cmake_minimum_required(VERSION 3.25)
66

77
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
88
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
9+
if(NOT CMAKE_BUILD_TYPE)
10+
set(CMAKE_BUILD_TYPE "Release")
11+
endif()
912

1013
project(BlendLuxCore LANGUAGES NONE)
1114
if("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
@@ -36,12 +39,16 @@ endfunction()
3639

3740
# Get BlendLuxCore version
3841
find_package(Python 3.11 REQUIRED COMPONENTS Interpreter)
39-
execute_process(
40-
COMMAND python
41-
${CMAKE_CURRENT_SOURCE_DIR}/cmake/blendluxcore_version.py
42-
${CMAKE_CURRENT_SOURCE_DIR}/blender_manifest.toml
43-
OUTPUT_VARIABLE BLC_VERSION
44-
)
42+
if (CMAKE_BUILD_TYPE STREQUAL "Latest")
43+
set(BLC_VERSION "Latest")
44+
else()
45+
execute_process(
46+
COMMAND python
47+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/blendluxcore_version.py
48+
${CMAKE_CURRENT_SOURCE_DIR}/blender_manifest.toml
49+
OUTPUT_VARIABLE BLC_VERSION
50+
)
51+
endif()
4552

4653
find_program(BLENDER blender NAMES blender.exe VALIDATOR validate_blender_version NO_CACHE REQUIRED)
4754

azure-pipelines.yml

Lines changed: 0 additions & 103 deletions
This file was deleted.

readme.md

Lines changed: 37 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,62 @@
1-
![Example Render](https://luxcorerender.org/wp-content/uploads/2019/10/dark_mode.jpg)
1+
# BlendLuxCore
22

3-
<sup> [LuxCoreRender.org](https://luxcorerender.org/) | [Forums](https://forums.luxcorerender.org/) | [Wiki](http://wiki.luxcorerender.org/LuxCoreRender_Wiki) </sup>
3+
![Example Render](https://luxcorerender.org/wp-content/uploads/2025/02/dark_mode_wide.jpg)
4+
5+
This addon integrates the LuxCore render engine into Blender. It offers advanced features like accelerated rendering of indirect light and efficient rendering of caustics.
46

57
## BlendLuxCore Wheels
68

7-
This addon integrates the LuxCore render engine into Blender. It offers advanced features like accelerated rendering of indirect light and efficient rendering of caustics.
9+
**This is a special, experimental version of the add-on, based on LuxCore Python wheels.**
10+
**This version is not recommended for production use.**
811

9-
**This is a special, experimental version of the add-on, based on LuxCore Python wheels.** It may not be suitable for production use.
12+
## Supported Blender Versions
1013

11-
### Supported Blender Versions
14+
* Blender 4.2+ is supported by the latest version
15+
Supported platforms are Windows, Linux, MacOS Intel, MacOS ARM
1216

13-
* Blender 4.2 is supported for Windows, Linux, MacOS Intel, MacOS ARM
17+
**Old BlendLuxCore releases (non-wheel):**
18+
* Blender 2.93 is supported by BlendLuxCore v2.6.
19+
* Blender 2.83-2.92 are supported by BlendLuxCore v2.5.
20+
* Blender 2.83 is supported by BlendLuxCore v2.4.
21+
* Blender 2.80, 2.81 and 2.82 are supported by BlendLuxCore v2.2 and v2.3.
22+
* Blender 2.79 is supported by BlendLuxCore v2.0, v2.1 and v2.2.
23+
Supported platforms are Windows, Linux, MacOS Intel
1424

15-
### Installation
25+
## Installation
1626

17-
#### From latest release (recommended)
27+
### From latest release (recommended)
1828

19-
- Find latest release of **BlendLuxCore Wheels** (https://github.com/LuxCoreRender/BlendLuxCore/releases). Caveat: do not get confused with plain BlendLuxCore.
20-
- From the release assets, download extension `BlendLuxCore*.zip`
29+
- Find the latest suitable release of **BlendLuxCore Wheels** on the release page:
30+
https://github.com/LuxCoreRender/BlendLuxCore/releases
31+
(Caveat: do not get confused with plain BlendLuxCore!)
32+
- Note: the release labelled "latest" is a nightly build and may be particularly unstable even compared to alpha or beta release versions!
33+
- From the release assets, download extension `BlendLuxCore-*.zip`
2134
- Open Blender and follow "Install from disk" procedure (https://docs.blender.org/manual/en/latest/editors/preferences/extensions.html)
2235

23-
Beforehand, you may want to uninstall previous version of BlendLuxCore: look in "Get Extensions" panel.
36+
Beforehand, you may want to uninstall previous version of BlendLuxCore: look in the "Get Extensions" panel.
2437

25-
#### From last commit
38+
### Building locally from source
2639

2740
Prerequisites: you need `cmake` and `blender` installed and in your `PATH`
2841

2942
Build extension:
3043
- clone this repository: `git clone https://github.com/LuxCoreRender/BlendLuxCore.git --branch for_blender_4.2_wheels`
31-
- configure: `cmake -S BlendLuxCore -B blc-build`
44+
- configure: `cmake -S BlendLuxCore -B blc-build -DCMAKE_BUILD_TYPE=Release`
3245
- build: `cmake --build blc-build`
3346

34-
The extension should be in `blc-build` subfolder
47+
To create a `Latest` release, use the option `-DCMAKE_BUILD_TYPE=Latest` in the step `configure`.
48+
49+
The build script then places the collected zip-file in the `blc-build` subfolder.
3550

3651
Open Blender and follow "Install from disk" procedure (https://docs.blender.org/manual/en/latest/editors/preferences/extensions.html)
3752

38-
Beforehand, you may want to uninstall previous version of BlendLuxCore: see in "Get Extensions" panel.
53+
Beforehand, you may want to uninstall previous version of BlendLuxCore: look in the "Get Extensions" panel.
3954

40-
### [Gallery](https://luxcorerender.org/gallery/)
55+
## Links
4156

42-
### [Download example test scenes](https://luxcorerender.org/example-scenes/)
57+
**Homepage:** **https://luxcorerender.org/**
58+
**Forums:** **https://forums.luxcorerender.org/**
59+
**Wiki:** **https://wiki.luxcorerender.org/**
60+
**Discord:** **https://discord.com/invite/chPGsKV**
61+
**Gallery:** **https://luxcorerender.org/gallery/**
62+
**Example Scenes:** **https://luxcorerender.org/example-scenes/**

0 commit comments

Comments
 (0)