Skip to content
Snippets Groups Projects
Forked from tecnalia_robotics-public / templates
140 commits behind the upstream repository.

GitLab Templates

This repository contains miscellaneous resources that need to be accessible without authentication.

GitLab CI templates

Two templates with default CI pipeline configurations are provided, for any repo to make use of:

  • .gitlab-industrial-ci-kinetic-no-rosinstall.yml

  • .gitlab-industrial-ci-kinetic-with-rosinstall.yml

Both define basically the same pipeline, consisting of the following stages and jobs:

  • Stage: precheck

    • Check python syntax

  • Stage: build

    • Run industrial_ci

      • Uses flexbotics-base-devel as a starting image

      • Runs scripts/ci_run_entry_points.sh in the BEFORE_SCRIPT stage, which in turn finds and runs every ci_entry_script.bash script found in the source tree (target repo + repos from .rosinstall)

    • Only when tags are pushed:

      • Run some cleanup in the industrial_ci context (e.g. delete sources)

      • Commit image used by industrial_ci

      • Build deployment image on top of it and push it to our registry

  • Stage: postcheck (jobs in this stage are allowed to fail)

    • Check bash/sh script syntax

    • Check Markdown syntax

    • Check files have no trailing whitespace and are UTF-8 encoded

It is important to note that both images set the variable GIT_LFS_SKIP_SMUDGE, which means that when the repositories are cloned/fetched, the files hosted using Git LFS will not be downloaded. An example on how to explicitely fetch the files from LFS can be found in the common_config repository.

Custom rosdep definitions

Custom rosdep definitions for the packages hosted in our internal debian repository are declared in rosdistro/rosdep_tecnalia.yaml.

Deployment image build resources

Resources required for building the deployment docker images are also hosted in this repository. This basically boils down to: