CI and common update:

-added webpage deploymnet stage
-added separate build stage which build all binaries and generate documentation
-added Emscripten build stage for merge to master only
-added VBO batch rendering (current default, no render mode switch yet)
-fixed camera positioning calculation
-fixed buffer issue with WebGL
-added viewport scalling (at least 300 pixels height). Pixels are scalled if screen is bigger.
-center demos gameplay area
-added fullpage html template for Emscripten build
This commit is contained in:
Dawid Masiukiewicz 2020-05-01 19:26:21 +00:00
parent f67eb452cc
commit 54a6d5dec2
29 changed files with 1167 additions and 322 deletions

View file

@ -1,60 +1,91 @@
image: "registry.gitlab.com/mergul/bubel-ecs:latest"
variables:
DOCKER_DRIVER: overlay2
stages:
- build
- test
- testcov
- build_emscripten
- deploy
test_compile:
build_code:
stage: build
image: "registry.gitlab.com/mergul/bubel-ecs:latest"
script:
- source $(/script/dlang/install.sh dmd -a) && dmd --version
- dub build -c unittest-runner -b debug --verror
- dub build -c unittest-runner -b release --verror
- dub build -c unittest-runner-betterC -b debug --verror
- dub build -c unittest-runner-betterC -b release --verror
- deactivate
- source $(/script/dlang/install.sh ldc -a) && ldc2 --version
- dub build -c unittest-runner --compiler=ldc2 -b debug --verror
- dub build -c unittest-runner --compiler=ldc2 -b release --verror
- dub build -c unittest-runner-betterC --compiler=ldc2 -b debug --verror
- dub build -c unittest-runner-betterC --compiler=ldc2 -b release --verror
- deactivate
- mkdir build
- /bin/bash /compile_ecs.sh
- cp artifacts/* build/
- cp -r public build/
artifacts:
expire_in: 1h
paths:
- build
rules:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
when: always
- when: always
allow_failure: true
test_dmd_debug:
stage: test
image: frolvlad/alpine-glibc
script:
- source $(/script/dlang/install.sh dmd -a) && dmd --version
- dub -c unittest-runner -b debug --verror
- build/dmd_debug_unittest
artifacts:
reports:
junit: test_report.xml
test_dmd:
stage: test
image: frolvlad/alpine-glibc
script:
- source $(/script/dlang/install.sh dmd -a) && dmd --version
- dub -c unittest-runner -b release --verror
- build/dmd_release_unittest
artifacts:
reports:
junit: test_report.xml
test_dmd_betterC:
stage: test
stage: test
image: frolvlad/alpine-glibc
script:
- source $(/script/dlang/install.sh dmd -a) && dmd --version
- dub -c unittest-runner-betterC -b release --verror
- build/dmd_release_unittest_bc
artifacts:
reports:
junit: test_report.xml
coverage_test_dmd:
stage: testcov
needs: ["test_dmd_debug"]
image: "registry.gitlab.com/mergul/bubel-ecs/curl:latest"
needs: ["test_dmd_debug", "build_code"]
dependencies:
- build_code
script:
- mkdir reports
- source $(/script/dlang/install.sh dmd -a) && dmd --version
- dub -c unittest-runner-cov -b debug --verror
- build/dmd_unittest_cov
after_script:
- bash <(curl -s https://codecov.io/bash) -s reports -t 1a0c0169-a721-4085-8252-fed4755dcd8c
emscripten:
stage: build_emscripten
image: "registry.gitlab.com/mergul/bubel-ecs/emscripten:latest"
dependencies:
- build_code
script:
- /bin/bash /build.sh
rules:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
when: always
artifacts:
expire_in: 1h
paths:
- wasm
pages:
stage: deploy
image: frolvlad/alpine-glibc
script:
- mkdir public
- cp -r wasm/* public/
- cp -r build/public/* public/
rules:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
when: always
artifacts:
expire_in: 1h
paths:
- public