LumixEngine/.github/workflows/build.yml
Mikulas Florek f05d23f787 cleanup
2021-04-22 23:49:00 +02:00

116 lines
No EOL
5.4 KiB
YAML

name: build
on: [push]
jobs:
windows:
runs-on: windows-2019
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
./genie.exe vs2019
- name: build dx11 engine
working-directory: projects
shell: cmd
run: |
"C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/MSBuild/Current/Bin/MSBuild.exe" tmp/vs2019/LumixEngine.sln /p:Configuration=RelWithDebInfo
- name: make dx12 project
working-directory: projects
run: |
pushd ..\plugins
popd
./genie.exe --dx12 vs2019
- name: build dx12 engine
working-directory: projects
shell: cmd
run: |
"C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/MSBuild/Current/Bin/MSBuild.exe" tmp/vs2019/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 rml plugin
working-directory: plugins
run: |
git.exe clone https://github.com/nem0/lumixengine_rml.git rml
- 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 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: |
./genie.exe --nodx --with-app vs2019
- name: build gl engine with plugins
working-directory: projects
shell: cmd
run: |
"C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/MSBuild/Current/Bin/MSBuild.exe" tmp/vs2019/LumixEngine.sln /p:Configuration=RelWithDebInfo
linux_and_static_analysis:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Install Dependencies
env:
PVS_STUDIO_LICENSE: ${{ secrets.PVS_STUDIO_LICENSE }}
run: |
if [[ "$PVS_STUDIO_LICENSE" != "" ]];
then
echo "$PVS_STUDIO_LICENSE" > pvs-studio.lic
wget -q https://files.viva64.com/etc/pubkey.txt
sudo apt-key add pubkey.txt
sudo wget -O /etc/apt/sources.list.d/viva64.list https://files.viva64.com/etc/viva64.list
sudo apt-get update
sudo apt-get install -y pvs-studio
fi
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 ../external/luajit/lib/linux64_gmake/release
mkdir -p ../external/physx/lib/linux64_gmake/release
mkdir -p ../external/recast/lib/linux64_gmake/release
git clone --depth=1 https://github.com/nem0/lumixengine_linux_3rdparty_bin.git
cp lumixengine_linux_3rdparty_bin/freetype/* ../external/freetype/lib/linux64_gmake/release
cp lumixengine_linux_3rdparty_bin/luajit/* ../external/luajit/lib/linux64_gmake/release
cp lumixengine_linux_3rdparty_bin/physx/* ../external/physx/lib/linux64_gmake/release
cp lumixengine_linux_3rdparty_bin/recast/* ../external/recast/lib/linux64_gmake/release
- name: PVS-Studio static analysis
run: |
cd projects
./genie --pvs-studio-build gmake
cd tmp/gmake
pvs-studio-analyzer trace -- make -j EXTRA_WARNINGS=1
pvs-studio-analyzer analyze -e ../../../src/renderer/editor/mikktspace.c -e ../../../src/renderer/editor/miniz.c -e ../../../src/engine/lz4.c -e ../../../external -l ../../../pvs-studio.lic -o pvs-studio.log
plog-converter -a 'GA:1,2;OP:1' -d V730,V1001,V530,V1048,V763 -t errorfile -w pvs-studio.log