stages: - build - test - testcov - build_emscripten - deploy build_code: stage: build image: "registry.gitlab.com/mergul/bubel-ecs:latest" script: - 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: - build/dmd_debug_unittest artifacts: reports: junit: test_report.xml test_dmd: stage: test image: frolvlad/alpine-glibc script: - build/dmd_release_unittest artifacts: reports: junit: test_report.xml test_dmd_betterC: stage: test image: frolvlad/alpine-glibc script: - build/dmd_release_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 - 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