diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 25b0820..cccf254 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,60 @@ -test_dmd: - stage: test - image: mmcomando/ecs_enviroment +image: "registry.gitlab.com/mergul/bubel-ecs:latest" + +variables: + DOCKER_DRIVER: overlay2 + +stages: + - build + - test + - testcov + +test_compile: + stage: build script: - source $(/script/dlang/install.sh dmd -a) && dmd --version - - source $(/script/dlang/install.sh dmd -a) && dub -c unittest-runner -b unittest + - 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 + allow_failure: true + +test_dmd_debug: + stage: test + script: + - source $(/script/dlang/install.sh dmd -a) && dmd --version + - dub -c unittest-runner -b debug --verror artifacts: reports: junit: test_report.xml +test_dmd: + stage: test + script: + - source $(/script/dlang/install.sh dmd -a) && dmd --version + - dub -c unittest-runner -b release --verror + artifacts: + reports: + junit: test_report.xml +test_dmd_betterC: + stage: test + script: + - source $(/script/dlang/install.sh dmd -a) && dmd --version + - dub -c unittest-runner-betterC -b release --verror + artifacts: + reports: + junit: test_report.xml +coverage_test_dmd: + stage: testcov + needs: ["test_dmd_debug"] + script: + - mkdir reports + - source $(/script/dlang/install.sh dmd -a) && dmd --version + - dub -c unittest-runner-cov -b debug --verror + after_script: + - bash <(curl -s https://codecov.io/bash) -s reports -t 1a0c0169-a721-4085-8252-fed4755dcd8c diff --git a/README.md b/README.md index 76fff75..d3f6816 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Dynamic Entity Component System [![pipeline status](https://gitlab.com/Mergul/bubel-ecs/badges/master/pipeline.svg)](https://gitlab.com/Mergul/bubel-ecs/-/commits/master) -[![coverage report](https://gitlab.com/Mergul/bubel-ecs/badges/master/coverage.svg)](https://gitlab.com/Mergul/bubel-ecs/-/commits/master) +[![codecov](https://codecov.io/gl/Mergul/bubel-ecs/branch/master/graph/badge.svg?token=Unm0TJhFoW)](https://codecov.io/gl/Mergul/bubel-ecs) -Entity-Component-System implementation in D language. \ No newline at end of file +Entity-Component-System implementation in D language. diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000..a6afdbc --- /dev/null +++ b/codecov.yml @@ -0,0 +1,3 @@ +ignore: + - "tests/*" + - "**/traits*" \ No newline at end of file diff --git a/source/ecs/manager.d b/source/ecs/manager.d index 1b9b959..5ec5b87 100644 --- a/source/ecs/manager.d +++ b/source/ecs/manager.d @@ -442,11 +442,12 @@ export struct EntityManager static struct ComponentsCounts { - uint readonly; - uint mutable; - uint excluded; - uint optional; - uint req; + //one more than should be to prevent null arrays (zero length arrays) + uint readonly = 1; + uint mutable = 1; + uint excluded = 1; + uint optional = 1; + uint req = 1; } static ComponentsCounts getComponentsCounts()()