From 3a0ebd41f6bc887982ff4af2e2b5e3bfc9a9717a Mon Sep 17 00:00:00 2001
From: joanvallve <jvallve@iri.upc.edu>
Date: Wed, 22 Dec 2021 16:25:32 +0100
Subject: [PATCH] fixing CI and c++14

---
 .gitlab-ci.yml | 50 ++++++++++++++++++++++++++++++++++++++++++++++----
 CMakeLists.txt |  2 +-
 2 files changed, 47 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a97a627..3f870b7 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
@@ -104,6 +109,7 @@ stages:
   - if [ -d gnss ]; then
   -   echo "directory gnss exists"
   -   cd gnss
+  -   git checkout devel
   -   git pull
   -   git checkout $WOLF_GNSS_BRANCH
   - else
@@ -119,10 +125,20 @@ stages:
   - make install
 
 .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_gnss
+  - git checkout $CI_COMMIT_BRANCH
+  - cd ../..
+  - catkin_make
 
 ############ LICENSE HEADERS ############
 license_headers:
@@ -143,7 +159,7 @@ 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:
@@ -169,7 +185,7 @@ 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
       paths:
@@ -192,6 +208,32 @@ build_and_test:bionic:
   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-focal
+      paths:
+      - ci_deps/wolf/
+    - key: gnssutils-focal
+      paths:
+      - ci_deps/gnss_utils/
+    - key: gnss-focal
+      paths:
+      - ci_deps/gnss/
+  except:
+    - master
+  before_script:
+    - *preliminaries_definition
+    - *install_wolf_definition
+    - *install_gnssutils_definition
+    - *install_wolfgnss_definition
+    - *clone_wolfrosnode_definition
+    - ldconfig
+  script:
+    - *build_and_test_definition
+
 ############ RUN DEMOS ############
 demo_gnss:
   stage: demos
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 500b89f..3de46d0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8.3)
 project(wolf_ros_gnss)
 
 ## Compile as C++11, supported in ROS Kinetic and newer
-add_compile_options(-std=c++11)
+add_compile_options(-std=c++14)
 
 # SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/wolf_ros_wrapper/cmake_modules")
 ## Find catkin macros and libraries
-- 
GitLab