Skip to content
Snippets Groups Projects
Select Git revision
  • main default
1 result

.gitlab-ci.yml

Blame
  • .gitlab-ci.yml 3.82 KiB
    stages:
      - test
      - build
      - docu
    
    .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
        - python3 -m pytest ./rq_controller/test/ --cov=rq_controller --cov-report term --cov-report xml:controller_coverage.xml --junitxml=controller_report.xml --cov-report html:controller_cov_html
      coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
    
      artifacts:
        when: always
        paths:
          - controller_report.xml
          - controller_cov_html
        reports:
          junit: controller_report.xml
          coverage_report:
            coverage_format: cobertura
            path: controller_coverage.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
    
    build-ros-win64:
      stage: build
      image: swittl/humble_win64
      tags:
        - windows
      script:
        - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@mygit.th-deg.de/roboct/robo_quality/rq_interfaces