diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..12002045acd487c87adb008e27eb3475f3b57049
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,23 @@
+stages:
+    - tests
+
+tests:
+    image: git.jinr.ru:5005/gna/gna-base-docker-image:latest
+    stage: tests
+
+    script:
+    - python3 -m pip install -r dagflow/requirements.txt
+    - coverage run --source=. -m pytest
+    - coverage report
+    - coverage xml
+    coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
+    artifacts:
+        paths:
+            - tests
+        reports:
+            coverage_report:
+                coverage_format: cobertura
+                path: coverage.xml
+    only:
+        - master
+        - merge_requests
diff --git a/pytest.ini b/pytest.ini
new file mode 100755
index 0000000000000000000000000000000000000000..70e258f40568d1462c778f2883f754ad385347f8
--- /dev/null
+++ b/pytest.ini
@@ -0,0 +1,4 @@
+[pytest]
+testpaths=tests
+; uncomment below to include coverage into default pytest run
+; addopts= --cov-report term --cov=./ --cov-report xml:cov.xml
diff --git a/tests/models/dayabay_v0.py b/tests/models/test_dayabay_v0.py
similarity index 100%
rename from tests/models/dayabay_v0.py
rename to tests/models/test_dayabay_v0.py