stages:
  - test
  - build
  - docu

cache:
  - paths: 
    - /home/install/

.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
  - 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


rq-pytests:
  stage: test
  image: ros:humble
  extends: .before_script_template
  before_script:
   - pip3 install pytest pytest-cov netCDF4 ros2-numpy Pillow pyometiff scipy

  script:
   - source ./install/setup.bash
  #  - python3 -m  pytest ./rq_controller/test/ --junitxml=report.xml
   
build-ros:
  stage: build
  extends: .before_script_template
  dependencies: [rq-pytests]
  script:
    - source ./install/setup.bash
  artifacts:
    when: always
    paths:
      - install
    name: ubuntu_humble

create-docu:
  stage: docu
  extends: .before_script_template
  dependencies: [rq-pytests]
  before_script:
   - pip3 install pdoc3 netCDF4 ros2-numpy Pillow pyometiff scipy open3d pathfinding3d
   - git clone https://github.com/wittlsn/aRTist-PythonLib.git -b artist_thd_wip
   - pip3 install ./aRTist-PythonLib/
  script:
    - source ./install/setup.bash
    - mkdir doc
    - python3 -m pdoc --html rq_controller -o=./doc/rq_controller -c show_source_code=True
    # - python3 -m pdoc --html rq_hardware -o=./doc/rq_hardware -c show_source_code=True
  artifacts:
    when: always
    paths:
      - doc
    name: rq_docstrings
