bubel-ecs/.gitlab-ci.yml

107 lines
2.4 KiB
YAML

default:
artifacts:
expire_in: 1 day
stages:
- build
- test
- testcov
- build_wasm
- build_emscripten
- deploy
build_code:
stage: build
image: "registry.gitlab.com/mergul/bubel-ecs:latest"
script:
- /bin/bash /compile_ecs.sh
artifacts:
expire_in: 1h
paths:
- binaries
allow_failure: true
test_dmd_debug:
stage: test
image: frolvlad/alpine-glibc
script:
- binaries/dmd_debug_unittest
artifacts:
reports:
junit: test_report.xml
test_dmd:
stage: test
image: frolvlad/alpine-glibc
script:
- binaries/dmd_release_unittest
artifacts:
reports:
junit: test_report.xml
test_dmd_betterC:
stage: test
image: frolvlad/alpine-glibc
script:
- binaries/dmd_debug_unittest_bc
artifacts:
reports:
junit: test_report.xml
coverage_test_dmd:
stage: testcov
image: "registry.gitlab.com/mergul/bubel-ecs/curl:latest"
needs: ["test_dmd_debug", "build_code"]
dependencies:
- build_code
script:
- mkdir reports
- binaries/dmd_unittest_cov
after_script:
- bash <(curl -s https://codecov.io/bash) -s reports -t df87b1d8-85f4-4584-96e3-1315d27ec2c5
wasm:
stage: build_wasm
image: "registry.gitlab.com/mergul/bubel-ecs:latest"
script:
- /bin/bash /compile_wasm.sh
- /bin/bash /gen_doc.sh
artifacts:
expire_in: 1h
paths:
- build
rules:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
when: always
allow_failure: true
emscripten:
stage: build_emscripten
image: "registry.gitlab.com/mergul/bubel-ecs/emscripten:latest"
dependencies:
- wasm
script:
- /bin/bash /build.sh
rules:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
when: always
artifacts:
expire_in: 1h
paths:
- wasm
pages:
stage: deploy
image: frolvlad/alpine-glibc
dependencies:
- wasm
- emscripten
script:
- mkdir public
- cp -r wasm/* public/
- cp -r build/public/* public/
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
when: always
artifacts:
expire_in: 1h
paths:
- public