Updated libfwk to 2025.01.13 (#12) #49
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: Test & build | |
on: | |
push: | |
branches: | |
- '**' | |
workflow_call: | |
jobs: | |
build-windows: | |
runs-on: windows-2022 | |
env: | |
VS_PATH: C:\Program Files\Microsoft Visual Studio\2022\Enterprise | |
MSBUILD_PATH: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Cache dependencies | |
id: cache-deps | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-deps | |
with: | |
path: libfwk/windows/libraries | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('libfwk/tools/install_deps.py', 'libfwk/dependencies.json') }}-v1 | |
- if: ${{ steps.cache-deps.outputs.cache-hit != 'true' }} | |
name: Install dependencies | |
shell: cmd | |
run: | | |
pip install conan | |
cd libfwk | |
python tools/install_deps.py | |
- name: Build libfwk release | |
shell: cmd | |
run: | | |
"%MSBUILD_PATH%" libfwk\windows\libfwk.vcxproj /p:Platform=x64 /p:Configuration=Release | |
- name: Build lucid release | |
shell: cmd | |
run: | | |
"%MSBUILD_PATH%" windows\lucid.vcxproj /p:Platform=x64 /p:Configuration=Release | |
- name: Prepare archive files | |
shell: cmd | |
run: | | |
mkdir lucid-raster | |
copy build\lucid-x64-Release\lucid.exe lucid-raster\ | |
xcopy data\shaders\ lucid-raster\data\shaders\ /E | |
copy libfwk\windows\libraries\bin\shaderc_shared.dll lucid-raster\ | |
- name: Archive build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lucid-release-build | |
path: lucid-raster | |
build-linux: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Install Dependencies | |
run: | | |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
sudo apt update | |
sudo apt-get install libsdl2-dev libfreetype-dev libvorbis-dev libogg-dev libopenal-dev libdwarf-dev libelf-dev | |
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc | |
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list http://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list | |
sudo apt update | |
sudo apt install libvulkan-dev shaderc glslang-dev vulkan-headers | |
- name: Build libfwk | |
run: | | |
cd libfwk | |
make -j8 lib MODE=devel FWK_GEOM=disabled | |
- name: Build Lucid | |
run: | | |
make -j8 lucid | |
check-formatting: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Install Dependencies | |
run: | | |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main' | |
sudo apt update | |
sudo apt install clang-format-17 | |
pip install black | |
- name: Check C++ formatting | |
run: | | |
python tools/format.py -c | |
- name: Check Python formatting | |
if: '!cancelled()' | |
run: | | |
python -m black tools/* --check --color --diff -l 100 |