stages:
  - test
  - build
  - docu


rq-pytests:
  stage: test
  image: ros:humble
  before_script:
   - cd /home/
   - 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
   - rosdep install --from-paths . -y --ignore-src
   - colcon build --merge-install
   - apt update
   - apt install wget
   - wget https://bootstrap.pypa.io/get-pip.py
   - python3 ./get-pip.py
   - pip3 install pytest pytest-cov netCDF4 ros2-numpy Pillow pyometiff

  script:
   - cd /home/
   - source ./install/setup.bash
   # - python3 -m ./rq_controller/pytest --junitxml=report.xml

  cache:
    - paths: 
      - /home/install/
   
build-ros:
  stage: build
  dependencies: [rq-pytests]
  script:
    - source ./home/install/setup.bash
  artifacts:
    when: always
    paths:
      - install
    name: ubuntu_humble


create-docu:
  stage: docu
  dependencies: [rq-pytests]
  before_script:
    - pip3 install pdoc3
  script:
    - source ./home/install/setup.bash
    - mkdir doc
    - python3 -m pdoc3 --html rq_controller -o=./doc/rq_controller -c show_source_code=True
  artifacts:
    when: always
    paths:
      - doc