LumixEngine/.github/workflows/build.yml
2020-02-16 16:24:48 +01:00

92 lines
4.4 KiB
YAML

name: build
on: [push]
jobs:
windows:
runs-on: windows-2019
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: fetch maps plugin
working-directory: .
run: |
mkdir plugins
cd plugins
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: make project
working-directory: projects
run: |
./genie.exe --static-plugins vs2019
- name: build 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 dx11 project
working-directory: projects
run: |
pushd ..\plugins
git.exe clone https://github.com/nem0/lumixengine_dx11.git dx11
popd
./genie.exe --static-plugins 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
linux_and_static_analysis:
runs-on: ubuntu-latest
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
- name: Download 3rdparties
run: |
cd projects
mkdir -p ../external/cmft/lib/linux64_gmake/release
mkdir -p ../external/freetype/lib/linux64_gmake/release
mkdir -p ../external/luajit/lib/linux64_gmake/release
mkdir -p ../external/nvtt/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/cmft/* ../external/cmft/lib/linux64_gmake/release
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/nvtt/* ../external/nvtt/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 --static-plugins --pvs-studio-build gmake
cd tmp/gmake
pvs-studio-analyzer trace -- make -j EXTRA_WARNINGS=1
pvs-studio-analyzer analyze -e ../../../src/renderer/editor/miniz.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