226 lines
7.2 KiB
YAML
226 lines
7.2 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
tags:
|
|
- '*'
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
jobs:
|
|
mac:
|
|
runs-on: macos-10.15
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
|
|
- name: Setup
|
|
run: brew install libuv sdl2 libpq sdl2_mixer python glslang ninja
|
|
|
|
- name: Build
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake .. -DHOT_RELOAD_ANIM=0 -GNinja
|
|
cmake --build .
|
|
|
|
- name: Test
|
|
run: |
|
|
cd build
|
|
ctest -V -R tests-animation$
|
|
ctest -V -R tests-app$
|
|
ctest -V -R tests-attrib$
|
|
ctest -V -R tests-command$
|
|
ctest -V -R tests-computeshadertool$
|
|
ctest -V -R tests-cooldown$
|
|
ctest -V -R tests-core$
|
|
ctest -V -R tests-eventmgr$
|
|
ctest -V -R tests-io$
|
|
ctest -V -R tests-math$
|
|
ctest -V -R tests-metric$
|
|
ctest -V -R tests-persistence$
|
|
ctest -V -R tests-poi$
|
|
ctest -V -R tests-shadertool$
|
|
ctest -V -R tests-stock$
|
|
ctest -V -R tests-util$
|
|
ctest -V -R tests-uuidutil$
|
|
ctest -V -R tests-video$
|
|
ctest -V -R tests-voxedit-util$
|
|
ctest -V -R tests-voxel$
|
|
ctest -V -R tests-voxelformat$
|
|
ctest -V -R tests-voxelgenerator$
|
|
ctest -V -R tests-voxelrender$
|
|
ctest -V -R tests-voxelutil$
|
|
ctest -V -R tests-voxelworld$
|
|
ctest -V -R tests-voxelworldrender$
|
|
|
|
packages:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
|
|
- name: Setup
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install cmake debhelper devscripts build-essential lintian libsdl2-dev libuv1-dev libsdl2-mixer-dev postgresql-server-dev-all libpq-dev libenet-dev opencl-c-headers wayland-protocols pkg-config uuid-dev python3 flatbuffers-compiler libflatbuffers-dev
|
|
|
|
- name: Ubuntu
|
|
run: |
|
|
debuild -b -ui -uc -us
|
|
mv ../*.deb .
|
|
|
|
- name: Upload the ubuntu artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: debian
|
|
path: vengi*.deb
|
|
|
|
- name: Upload the ubuntu release artifacts
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
uses: Roang-zero1/github-upload-release-artifacts-action@master
|
|
with:
|
|
args: vengi*.deb
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
linux:
|
|
runs-on: ubuntu-20.04
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:13
|
|
env:
|
|
POSTGRES_DB: enginetest
|
|
POSTGRES_PASSWORD: engine
|
|
POSTGRES_PORT: 5432
|
|
POSTGRES_USER: vengi
|
|
ports:
|
|
- 5432:5432
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
|
|
- name: Setup
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install libsdl2-dev postgresql-server-dev-all libpq-dev libenet-dev opencl-c-headers wayland-protocols pkg-config uuid-dev ninja-build python3 flatbuffers-compiler libflatbuffers-dev
|
|
|
|
- name: Linux
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build .
|
|
|
|
- name: Test
|
|
run: |
|
|
cd build
|
|
ctest -V -R tests-animation$
|
|
ctest -V -R tests-app$
|
|
ctest -V -R tests-attrib$
|
|
ctest -V -R tests-command$
|
|
ctest -V -R tests-computeshadertool$
|
|
ctest -V -R tests-cooldown$
|
|
ctest -V -R tests-core$
|
|
ctest -V -R tests-eventmgr$
|
|
ctest -V -R tests-io$
|
|
ctest -V -R tests-math$
|
|
ctest -V -R tests-metric$
|
|
ctest -V -R tests-persistence$
|
|
ctest -V -R tests-poi$
|
|
ctest -V -R tests-shadertool$
|
|
ctest -V -R tests-stock$
|
|
ctest -V -R tests-util$
|
|
ctest -V -R tests-uuidutil$
|
|
ctest -V -R tests-video$
|
|
ctest -V -R tests-voxedit-util$
|
|
ctest -V -R tests-voxel$
|
|
ctest -V -R tests-voxelformat$
|
|
ctest -V -R tests-voxelgenerator$
|
|
ctest -V -R tests-voxelrender$
|
|
ctest -V -R tests-voxelutil$
|
|
ctest -V -R tests-voxelworld$
|
|
ctest -V -R tests-voxelworldrender$
|
|
ctest -V -R shelltests
|
|
|
|
windows:
|
|
runs-on: windows-2022
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
|
|
- name: Setup
|
|
uses: lukka/run-vcpkg@v6
|
|
id: runvcpkg
|
|
with:
|
|
vcpkgGitCommitId: 1b1ae50e1a69f7c659bd7d731e80b358d21c86ad
|
|
vcpkgTriplet: 'x64-windows'
|
|
vcpkgArguments: 'libpq glslang'
|
|
|
|
- name: Build
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DHOT_RELOAD_ANIM=0
|
|
cmake --build .
|
|
|
|
- name: install
|
|
run: |
|
|
cd build
|
|
cmake --install . --component voxedit --prefix voxedit-install
|
|
cmake --install . --component mapview --prefix mapview-install
|
|
cmake --install . --component voxconvert --prefix voxconvert-install
|
|
|
|
- name: Tests
|
|
run: |
|
|
cd build
|
|
ctest -V -C Release -R tests-animation$
|
|
ctest -V -C Release -R tests-app$
|
|
ctest -V -C Release -R tests-attrib$
|
|
ctest -V -C Release -R tests-command$
|
|
ctest -V -C Release -R tests-computeshadertool$
|
|
ctest -V -C Release -R tests-cooldown$
|
|
ctest -V -C Release -R tests-core$
|
|
ctest -V -C Release -R tests-eventmgr$
|
|
ctest -V -C Release -R tests-io$
|
|
ctest -V -C Release -R tests-math$
|
|
ctest -V -C Release -R tests-metric$
|
|
ctest -V -C Release -R tests-persistence$
|
|
ctest -V -C Release -R tests-poi$
|
|
ctest -V -C Release -R tests-shadertool$
|
|
ctest -V -C Release -R tests-stock$
|
|
ctest -V -C Release -R tests-util$
|
|
ctest -V -C Release -R tests-uuidutil$
|
|
ctest -V -C Release -R tests-video$
|
|
ctest -V -C Release -R tests-voxedit-util$
|
|
ctest -V -C Release -R tests-voxel$
|
|
ctest -V -C Release -R tests-voxelformat$
|
|
ctest -V -C Release -R tests-voxelgenerator$
|
|
ctest -V -C Release -R tests-voxelrender$
|
|
ctest -V -C Release -R tests-voxelutil$
|
|
ctest -V -C Release -R tests-voxelworld$
|
|
|
|
- name: Upload the voxedit artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: voxedit
|
|
path: build/voxedit-install/
|
|
|
|
- name: Upload the mapview artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: mapview
|
|
path: build/mapview-install/
|
|
|
|
- name: Upload the voxconvert artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: voxconvert
|
|
path: build/voxconvert-install/
|