Skip to content
Snippets Groups Projects
Commit ec710305 authored by Joan Vallvé Navarro's avatar Joan Vallvé Navarro
Browse files

CI: different images with yaml anchors

parent b2d4238b
No related branches found
No related tags found
1 merge request!24After 2nd RAL submission
image: labrobotica/ceres:1.14 ############ YAML ANCHORS ############
.preliminaries_template: &preliminaries_definition
before_script:
##
## Install ssh-agent if not already installed, it is required by Docker. ## Install ssh-agent if not already installed, it is required by Docker.
## (change apt-get to yum if you use an RPM-based image) ## (change apt-get to yum if you use an RPM-based image)
##
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
##
## Run ssh-agent (inside the build environment) ## Run ssh-agent (inside the build environment)
##
- eval $(ssh-agent -s) - eval $(ssh-agent -s)
##
## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
## We're using tr to fix line endings which makes ed25519 keys work ## We're using tr to fix line endings which makes ed25519 keys work
## without extra base64 encoding. ## without extra base64 encoding.
## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556 ## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
##
- mkdir -p ~/.ssh - mkdir -p ~/.ssh
- chmod 700 ~/.ssh - chmod 700 ~/.ssh
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
# - echo "$SSH_KNOWN_HOSTS" > $HOME/.ssh/known_hosts # - echo "$SSH_KNOWN_HOSTS" > $HOME/.ssh/known_hosts
- ssh-keyscan -H -p 2202 gitlab.iri.upc.edu >> $HOME/.ssh/known_hosts - ssh-keyscan -H -p 2202 gitlab.iri.upc.edu >> $HOME/.ssh/known_hosts
## # update apt
## Create the SSH directory and give it the right permissions
##
- ls
- apt-get update - apt-get update
- apt-get install -y build-essential cmake
# SPDLOG .install_wolf_template: &install_wolf_definition
# - apt-get install -y libspdlog-dev - git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/wolf.git
- if [ -d spdlog ]; then - cd wolf
- echo "directory exists"
- if [ "$(ls -A ./spdlog)" ]; then
- echo "directory not empty"
- cd spdlog
- git pull
- else
- echo "directory empty"
- git clone https://github.com/gabime/spdlog.git
- cd spdlog
- fi
- else
- echo "directory inexistent"
- git clone https://github.com/gabime/spdlog.git
- cd spdlog
- fi
- git fetch
- git checkout v0.17.0
- mkdir -pv build - mkdir -pv build
- cd build - cd build
- ls - cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
- cmake -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -fPIC" -DSPDLOG_BUILD_TESTING=OFF .. - make -j$(nproc)
- ctest -j$(nproc)
- make install - make install
- cd ../.. - cd ../..
# YAML .install_visionutils_template: &install_visionutils_definition
# - apt-get install -y libyaml-cpp-dev - git clone https://gitlab.iri.upc.edu/labrobotica/algorithms/vision_utils.git
- if [ -d yaml-cpp ]; then - cd laser_scan_utils
- echo "directory exists"
- if [ "$(ls -A ./yaml-cpp)" ]; then
- echo "directory not empty"
- cd yaml-cpp
- git pull
- else
- echo "directory empty"
- git clone https://github.com/jbeder/yaml-cpp.git
- cd yaml-cpp
- fi
- else
- echo "directory inexistent"
- git clone https://github.com/jbeder/yaml-cpp.git
- cd yaml-cpp
- fi
- mkdir -pv build - mkdir -pv build
- cd build - cd build
- ls - cmake -DCMAKE_BUILD_TYPE=release ..
- cmake -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -fPIC" -DYAML_CPP_BUILD_TESTS=OFF .. - make -j$(nproc)
- make install - make install
- cd ../.. - cd ../..
#Wolf core
- git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/wolf.git .build_and_test_template: &build_and_test_definition
- cd wolf
- mkdir -pv build - mkdir -pv build
- cd build - cd build
- cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON .. - cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
- make -j$(nproc) - make -j$(nproc)
- ctest -j$(nproc) - ctest -j$(nproc)
- make install - make install
- cd ../..
wolf_build_and_test: ############ UBUNTU 16.04 TESTS ############
stage: build wolf_build_and_test_none:xenial:
image: labrobotica/wolf_vision_deps:16.04
except:
- master
before_script:
- *preliminaries_definition
- *install_wolf_definition
- *install_visionutils_definition
- ldconfig # update links (shared libraries)
script:
- *build_and_test_definition
############ UBUNTU 18.04 TESTS ############
wolf_build_and_test_none:bionic:
image: labrobotica/wolf_vision_deps:18.04
except: except:
- master - master
before_script:
- *preliminaries_definition
- *install_wolf_definition
- *install_visionutils_definition
- ldconfig # update links (shared libraries)
script: script:
- mkdir -pv build - *build_and_test_definition
- cd build \ No newline at end of file
- ls # we can check whether the directory was already full
- cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
- make -j$(nproc)
- ctest -j$(nproc)
- make install
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment