diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index efa9f6a203a5479c0440e2ae89c4a133ecf19b3a..65fc903097c0021e3a6378c1780fee6a407566d3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -18,6 +18,7 @@ include:
   - .gitlab/test_parsec.yml
   - .gitlab/test_quark.yml
   - .gitlab/test_openmp.yml
+  - .gitlab/test_hmat.yml
   - .gitlab/coverage.yml
   - .gitlab/coverity.yml
   - .gitlab/sonarqube.yml
diff --git a/.gitlab/build.yml b/.gitlab/build.yml
index 5e0fd37742189ae74db6f46926958ab0394e0e68..d311506836a79e08faaa1a9d1108ceb9bab56fc4 100644
--- a/.gitlab/build.yml
+++ b/.gitlab/build.yml
@@ -74,4 +74,15 @@ build_starpu_macosx:
   script:
     - tools/build_macosx.sh
 
+build_hmat:
+  extends: .build_script_template
+  artifacts:
+    name: build_hmat
+    expire_in: 48 hours
+    paths:
+      - build-hmat
+      - chameleon_hmat.log
+  variables:
+    BUILD_OPTIONS: "-DCHAMELEON_USE_CUDA=OFF -DCHAMELEON_USE_MPI=ON -DCHAMELEON_USE_HMAT=ON"
+    VERSION: hmat
 
diff --git a/.gitlab/test_hmat.yml b/.gitlab/test_hmat.yml
new file mode 100644
index 0000000000000000000000000000000000000000..97e2d3702c96ad57116fd37c76ab6e6949686dc2
--- /dev/null
+++ b/.gitlab/test_hmat.yml
@@ -0,0 +1,34 @@
+---
+.test_hmat_template:
+  extends: .test_script_template
+  needs: [build_hmat]
+  dependencies:
+    - build_hmat
+  artifacts:
+    name: test_hmat
+    expire_in: 48 hours
+    paths:
+      - build_hmat
+      - chameleon_hmat_*.log
+      - chameleon_hmat_*.lcov
+      - bis_chameleon_hmat_*.lcov
+    reports:
+      junit: report.xml
+
+.test_hmat_template_master: &test_hmat_master
+  extends:
+    - .test_hmat_template
+    - .only-master
+
+.test_hmat_template_branches: &test_hmat_branches
+  extends:
+    - .test_hmat_template
+    - .only-branches
+
+test_hmat:
+  <<: *test_hmat_branches
+  variables:
+    VERSION: hmat
+    CATEGORY: none
+    PRECISION: all
+    TESTS_RESTRICTION: "-R \"testBEM_\""