diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5ffeb3129d8392f84472b70199c9d101fa7b7a82..aed0be58391444bb1368d134ad514cbc4bccecc7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,6 +28,10 @@ stages:
   # create ci_deps folder (if not exists)
   - mkdir -pv ci_deps
 
+  # manually source ros setup.bash
+  - source /root/catkin_ws/devel/setup.bash
+  - roscd # check that it works
+
 .license_header_template: &license_header_definition
   - cd $CI_PROJECT_DIR
 
@@ -67,6 +71,7 @@ stages:
   - if [ -d wolf ]; then
   -   echo "directory wolf exists"
   -   cd wolf
+  -   git checkout devel
   -   git pull
   -   git checkout $WOLF_CORE_BRANCH
   - else
@@ -76,9 +81,8 @@ stages:
   - fi
   - mkdir -pv build
   - cd build
-  - cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
+  - cmake -DCMAKE_BUILD_TYPE=release -DBUILD_DEMOS=OFF -DBUILD_TESTS=OFF ..
   - make -j$(nproc)
-  - ctest -j$(nproc)
   - make install
   - ldconfig
 
@@ -138,6 +142,7 @@ stages:
   - if [ -d laser ]; then
   -   echo "directory laser exists"
   -   cd laser
+  -   git checkout devel
   -   git pull
   -   git checkout $WOLF_LASER_BRANCH
   - else
@@ -147,23 +152,31 @@ stages:
   - fi
   - mkdir -pv build
   - cd build
-  - cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
+  - cmake -DCMAKE_BUILD_TYPE=release -DBUILD_TESTS=OFF ..
   - make -j$(nproc)
-  - ./../bin/gtest_polyline_2d
-  - ctest -j$(nproc)
   - make install
   - ldconfig
 
 .clone_wolfrosnode_template: &clone_wolfrosnode_definition
-  - echo "TODO clone wolf_ros_node branch ${WOLF_ROS_CORE_BRANCH}"
+  - roscd
+  - cd ../src
+  - git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_ros/wolf_ros_node.git
+  - cd wolf_ros_node
+  - git checkout $WOLF_ROS_CORE_BRANCH
 
 .build_and_test_template: &build_and_test_definition
-  - echo "TODO"
+  - roscd
+  - cd ../src
+  - git clone ssh://git@gitlab.iri.upc.edu:2202/${CI_PROJECT_PATH}.git
+  - cd wolf_ros_laser
+  - git checkout $CI_COMMIT_BRANCH
+  - cd ../..
+  - catkin_make
 
 ############ LICENSE HEADERS ############
 license_headers:
   stage: license
-  image: labrobotica/wolf_deps:16.04
+  image: labrobotica/wolf_deps_ros:16.04
   cache:
     - key: wolf-xenial
       paths:
@@ -179,20 +192,11 @@ license_headers:
 ############ UBUNTU 16.04 TEST ############
 build_and_test:xenial:
   stage: build_and_test
-  image: labrobotica/wolf_deps:16.04
+  image: labrobotica/wolf_deps_ros:16.04
   cache:
-    - key: wolf-xenial
-      paths:
-      - ci_deps/wolf/
-    - key: laserscanutils-xenial
-      paths:
-      - ci_deps/laser_scan_utils/
-    - key: csm-xenial
-      paths:
-      - ci_deps/csm/
-    - key: falko-xenial
+    - key: wolf_and_deps-xenial
       paths:
-      - ci_deps/falkolib/
+      - ci_deps
   except:
     - master
   before_script:
@@ -209,20 +213,32 @@ build_and_test:xenial:
 ############ UBUNTU 18.04 TEST ############
 build_and_test:bionic:
   stage: build_and_test
-  image: labrobotica/wolf_deps:18.04
+  image: labrobotica/wolf_deps_ros:18.04
   cache:
-    - key: wolf-bionic
+    - key: wolf_and_deps-bionic
       paths:
-      - ci_deps/wolf/
-    - key: laserscanutils-bionic
-      paths:
-      - ci_deps/laser_scan_utils/
-    - key: csm-bionic
-      paths:
-      - ci_deps/csm/
-    - key: falko-bionic
+      - ci_deps
+  except:
+    - master
+  before_script:
+    - *preliminaries_definition
+    - *install_wolf_definition
+    - *install_csm_definition
+    - *install_falko_definition
+    - *install_laserscanutils_definition
+    - *install_wolflaser_definition
+    - *clone_wolfrosnode_definition
+  script:
+    - *build_and_test_definition
+
+############ UBUNTU 20.04 TEST ############
+build_and_test:focal:
+  stage: build_and_test
+  image: labrobotica/wolf_deps_ros:20.04
+  cache:
+    - key: wolf_and_deps-focal
       paths:
-      - ci_deps/falkolib/
+      - ci_deps
   except:
     - master
   before_script:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 57bbe539dc4f75c1a8bf580418d20cf9e3e16f98..046ac2034a71324e9099cd9be098889ec1a78b6a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 2.8.3)
 project(wolf_ros_laser)
 
-## Compile as C++14, supported in ROS Noetic and newer
+## Compile as C++14
 add_compile_options(-std=c++14)
 
 # SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/wolf_ros_wrapper/cmake_modules")