diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a27d9993d358f86195d6d04b7cfb46db42c8f1a3..7193741d3c3c08abaf33341feb5942fc4498ca5c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,10 +10,10 @@ before_script:
   - git submodule update --init --recursive
   - mkdir -p build
 
-hqr_build:
+hqr_build_linux:
   stage: build
   artifacts:
-    name: hqr_build
+    name: hqr_build_linux
     expire_in: 42 minutes
     untracked: true
   script:
@@ -27,12 +27,12 @@ hqr_build:
     - branches
     - master@solverstack/hqr
 
-hqr_test:
+hqr_test_linux:
   stage: test
   dependencies:
-    - hqr_build
+    - hqr_build_linux
   artifacts:
-    name: hqr_test
+    name: hqr_test_linux
     expire_in: 42 minutes
     untracked: true
   script:
@@ -47,8 +47,8 @@ hqr_test:
 hqr_sonar:
   stage: sonar
   dependencies:
-  - hqr_build
-  - hqr_test
+  - hqr_build_linux
+  - hqr_test_linux
   artifacts:
     name: hqr_sonar
     expire_in: 1 week
@@ -62,6 +62,40 @@ hqr_sonar:
   only:
     - master@solverstack/hqr
 
+hqr_build_macosx:
+  tags: ['macosx']
+  stage: build
+  artifacts:
+    name: hqr_build_macosx
+    expire_in: 42 minutes
+    untracked: true
+  script:
+    - cd build
+    - cmake .. -DCMAKE_INSTALL_PREFIX=${PWD}/../install -DBUILD_SHARED_LIBS=ON -DCMAKE_VERBOSE_MAKEFILE=ON | tee ../hqr-build.log
+    - ctest --no-compress-output -V -j 5
+            -D ExperimentalBuild
+            -D ExperimentalSubmit | tee -a hqr_build.log
+    - make install | tee -a ../hqr-build.log
+  only:
+    - branches
+    - master@solverstack/hqr
+
+hqr_test_macosx:
+  tags: ['macosx']
+  stage: test
+  dependencies:
+    - hqr_build_macosx
+  artifacts:
+    name: hqr_test_macosx
+    expire_in: 42 minutes
+    untracked: true
+  script:
+    - source install/bin/hqr_env.sh
+    - (cd build &&
+       eval "ctest -D ExperimentalTest
+            -D ExperimentalCoverage
+            -D ExperimentalSubmit | tee ../hqr-tests.log")
+
 # pages:
 #   stage: deploy
 #   script: