LumixEngine/.github/workflows/build.yml

113 lines
4.9 KiB
YAML

name: build
on: [push]
jobs:
windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: make dx11 project
working-directory: projects
run: |
mkdir ..\plugins
pushd ..\plugins
git.exe clone https://github.com/nem0/lumixengine_dx11.git dx11
popd
./bin/windows/genie.exe vs2022
- name: build dx11 engine
working-directory: projects
shell: cmd
run: |
"C:/Program Files/Microsoft Visual Studio/2022/Enterprise/MSBuild/Current/Bin/MSBuild.exe" tmp/vs2022/LumixEngine.sln /p:Configuration=RelWithDebInfo
- name: make dx12 project
working-directory: projects
run: |
pushd ..\plugins
popd
./bin/windows/genie.exe --dx12 vs2022
- name: build dx12 engine
working-directory: projects
shell: cmd
run: |
"C:/Program Files/Microsoft Visual Studio/2022/Enterprise/MSBuild/Current/Bin/MSBuild.exe" tmp/vs2022/LumixEngine.sln /p:Configuration=RelWithDebInfo
- name: fetch maps plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_maps.git maps
- name: fetch gltf plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_gltf.git gltf_import
- name: fetch shader_editor plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_shader_editor.git shader_editor
- name: fetch network plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_net.git net
- name: fetch js plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_js.git js
- name: fetch marketplace plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_market.git market
- name: fetch procedural geometry plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_procedural_geom.git procedural_geom
- name: fetch visual script plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_visualscript.git visual_script
- name: fetch empty plugin template
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumix_plugin_template.git myplugin
- name: make gl project with plugins
working-directory: projects
run: |
./bin/windows/genie.exe --nodx --with-app vs2022
- name: build gl engine with plugins
working-directory: projects
shell: cmd
run: |
"C:/Program Files/Microsoft Visual Studio/2022/Enterprise/MSBuild/Current/Bin/MSBuild.exe" tmp/vs2022/LumixEngine.sln /p:Configuration=RelWithDebInfo
linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install mesa-common-dev
sudo apt-get install libasound2-dev
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libgl1-mesa-glx
sudo apt-get install libxi-dev
sudo apt-get install libgtk-3-dev
- name: Download 3rdparties
run: |
cd projects
mkdir -p ../external/freetype/lib/linux64_gmake/release
mkdir -p 3rdparty/
mkdir -p ../external/physx/lib/linux
mkdir -p ../external/recast/lib/linux64_gmake/release
git clone --depth=1 https://github.com/nem0/lumixengine_linux_3rdparty_bin.git
git clone --depth=1 https://github.com/nem0/luau.git 3rdparty/luau
cp lumixengine_linux_3rdparty_bin/freetype/* ../external/freetype/lib/linux64_gmake/release
cp lumixengine_linux_3rdparty_bin/physx/* ../external/physx/lib/linux
cp lumixengine_linux_3rdparty_bin/recast/* ../external/recast/lib/linux64_gmake/release
- name: build
run: |
cd projects
./bin/linux/genie --force-build-luau gmake
cd tmp/gmake
make -j