Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.45 KiB
stages:
  - test
  - build
  - docu

cache:
  key: cache-$CI_COMMIT_REF_SLUG
  paths:
    - install

.before_script_template: &before_script_template
  before_script:
    - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@mygit.th-deg.de/roboct/robo_quality/rq_interfaces
    - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@mygit.th-deg.de/roboct/robo_quality/rq_hardware
    - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@mygit.th-deg.de/roboct/robo_quality/rq_controller
    - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@mygit.th-deg.de/roboct/robo_quality/rq_ddetection
    - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@mygit.th-deg.de/roboct/robo_quality/rq_trajectory
    - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@mygit.th-deg.de/roboct/robo_quality/rq_reconstruction
    - apt-get update && apt-get install -y wget python3-pip
    - rosdep install --from-paths . -y --ignore-src
    - colcon build --merge-install

rq-pytests:
  stage: test
  image: ros:humble
  tags: 
    - ros2
  cache:
    key: cache-$CI_COMMIT_REF_SLUG
    paths:
      - install
  <<: *before_script_template
  script:
    - source ./install/setup.bash
    - pip3 install pytest pytest-cov netCDF4 ros2-numpy Pillow pyometiff scipy
    # Uncomment the following line to run tests
    - python3 -m pytest ./rq_controller/test/ --junitxml=report.xml

build-ros:
  stage: build
  image: ros:humble
  tags: 
    - ros2
  cache:
    key: cache-$CI_COMMIT_REF_SLUG
    paths:
      - install
  dependencies:
    - rq-pytests
  script:
    - source ./install/setup.bash
  artifacts:
    when: always
    paths:
      - install
    name: ubuntu_humble

create-docu:
  stage: docu
  image: ros:humble
  tags: 
    - ros2
  cache:
    key: cache-$CI_COMMIT_REF_SLUG
    paths:
      - install
  dependencies:
    - rq-pytests
  before_script:
    - apt-get update && apt-get install -y wget python3-pip