Files
WickedEngine/.github/workflows/build.yml
T
2022-12-23 12:38:47 +01:00

155 lines
4.1 KiB
YAML

name: Build
on:
push:
branches: [ master ]
jobs:
content:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Package Content
uses: actions/upload-artifact@v2
with:
name: Content
path: |
Content/models
Content/scripts
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: nuget/setup-nuget@v1
with:
nuget-api-key: ${{ secrets.NuGetAPIKey }}
- run: nuget restore WickedEngine.sln
- name: Build
shell: cmd
run: |
"C:/Program Files/Microsoft Visual Studio/2022/Enterprise/MSBuild/Current/Bin/MSBuild.exe" WickedEngine.sln /t:OfflineShaderCompiler /m /p:Configuration=Release /p:Platform=x64
cd "WickedEngine"
"../BUILD/x64/Release/OfflineShaderCompiler/OfflineShaderCompiler.exe" hlsl6 spirv shaderdump
cd ..
"C:/Program Files/Microsoft Visual Studio/2022/Enterprise/MSBuild/Current/Bin/MSBuild.exe" WickedEngine.sln /t:rebuild /m /p:Configuration=Release /p:Platform=x64
- name: Move files
shell: cmd
run: |
move BUILD\x64\Release\Editor_Windows\Editor_Windows.exe .\
move Editor\config.ini .\
move Editor\startup.lua .\
move Editor\terrain .\
move Content\Documentation .\
- name: Package Editor
uses: actions/upload-artifact@v2
with:
name: Editor (Windows)
path: |
Documentation/
terrain/
config.ini
startup.lua
Editor_Windows.exe
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt update
sudo apt install libsdl2-dev
sudo apt install libncurses5
- name: Build
run: |
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
echo "---Generating Shader Dump---"
cd WickedEngine
./offlineshadercompiler spirv rebuild shaderdump
mv wiShaderDump.h ../../WickedEngine/
cd ..
echo "---Rebuilding with ShaderDump---"
make -B -j $(nproc)
- name: Move files
run: |
mv build/Editor/WickedEngineEditor ./
mv Editor/config.ini ./
mv Editor/startup.lua ./
mv Editor/terrain ./
mv Content/Documentation ./
- name: Package Editor
uses: actions/upload-artifact@v2
with:
name: Editor (Linux - Ubuntu)
path: |
Documentation/
terrain/
config.ini
startup.lua
WickedEngineEditor
linux-steamdeck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt update
sudo apt install libsdl2-dev
sudo apt install libncurses5
- name: Build
run: |
mkdir build
echo "---Building Command Strings---"
echo -e "#!/bin/bash \
\nmkdir -p $(dirname $PWD) \
\nln -s /build $PWD \
\ncd /build/build \
\ncmake .. -DCMAKE_BUILD_TYPE=Release \
\nmake \
\necho \"---Generating Shader Dump---\" \
\ncd WickedEngine \
\n./offlineshadercompiler spirv rebuild shaderdump\nmv wiShaderDump.h ../../WickedEngine/ \
\necho \"---Rebuilding with ShaderDump---\" \
\ncd .. \
\nmake -B" > build.sh
chmod +x build.sh
echo "---Executing Containerized Build---"
podman run --name sniper -v $PWD:/build registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest /build/build.sh
podman container rm sniper
- name: Move files
run: |
mv build/Editor/WickedEngineEditor ./
mv Editor/config.ini ./
mv Editor/startup.lua ./
mv Editor/terrain ./
mv Content/Documentation ./
- name: Package Editor
uses: actions/upload-artifact@v2
with:
name: Editor (Linux - Steam Deck)
path: |
Documentation/
terrain/
config.ini
startup.lua
WickedEngineEditor