diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fdb0556185a8152702bd66e9b0952087db2ee1fe..3c99f16ef7b7c4affeff8875925f55dfb9b227ae 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -48,31 +48,25 @@ test_39:
   script:
     - /tmp/test/bin/python -m pytest -vv
 
-test_latest:
-  << : *py_test
-  before_script:
-    - conda create -c conda-forge -q -p /tmp/test python=3.10 pip dask -y
-    - /tmp/test/bin/python -m pip install -e .[test]
-  script:
-    - /tmp/test/bin/python -m pytest -vv
-  artifacts:
-      when: always
-      reports:
-        junit: report.xml
-      paths:
-        - coverage_report
-        - report.xml
 pages:
   stage: report
+  needs: []
   tags:
     - conda
-  dependencies:
-    - test_latest
+  before_script:
+    - conda create -c conda-forge -q -p /tmp/test python=3.10 pip dask -y
+    - /tmp/test/bin/python -m pip install -e .[test]
   script:
-    - mv coverage_report public/
+    - /tmp/test/bin/coverage run -m pytest
+    - /tmp/test/bin/coverage report
+    - /tmp/test/bin/coverage html
+    - /tmp/test/bin/coverage xml
+  coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
+  after_script:
+    - mv  htmlcov public
   artifacts:
     when: always
     paths:
       - public/
     reports:
-      junit: report.xml
+      junit: coverage.xml
diff --git a/pytest.ini b/pytest.ini
index e331f5ea4be66fe61647a7e0965595e5243e8eca..a4b207d436e84020974d64c6aaa1850241fc2d04 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -1,3 +1,2 @@
 [pytest]
 testpaths=src/rechunk_data/tests
-addopts= --cov ./src --cov-report=html:coverage_report --cov-report term-missing --junitxml=report.xml