From 91bf0ad4ec3a55aa906aa6a8b2cc5c59c1639c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1igo=20Moreno?= <inigo.moreno@tecnalia.com> Date: Mon, 6 Sep 2021 15:06:44 +0200 Subject: [PATCH] Update README --- README.adoc | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/README.adoc b/README.adoc index f50fb4d..c599378 100644 --- a/README.adoc +++ b/README.adoc @@ -6,22 +6,45 @@ This repository contains miscellaneous resources that need to be accessible with Two templates with default CI pipeline configurations are provided, for any repo to make use of: +- `.gitlab-industrial-ci-no-rosinstall.yml` +- `.gitlab-industrial-ci-with-rosinstall.yml` + +=== ROS distribution selection +These pipelines will try to detect the ROS distro from the branch name. For example, if the branch starts with `noetic-` it will build for noetic. If the branch doesn't start with any ROS distro, it will build the default distro, which can be specified with the variable `DEFAULT_DISTRO`. For convenience and backwards compatibility, some templates are provided that already set this variable: + - `.gitlab-industrial-ci-kinetic-no-rosinstall.yml` -- `.gitlab-industrial-ci-kinetic-with-rosinstall.yml` +- `.gitlab-industrial-ci-melodic-no-rosinstall.yml` +- `.gitlab-industrial-ci-noetic-no-rosinstall.yml` +- And the same with the `with-rosinstall` files. -Both define basically the same pipeline, consisting of the following stages and jobs: +=== Multiple ROS distributions + +If a repo wants to compile using multiple distributions, one can specify them by setting the `BUILD` variables: + +```yml +include: 'https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/.gitlab-industrial-ci-with-rosinstall.yml' + +variables: + BUILD_KINETIC: 1 + BUILD_MELODIC: 1 + BUILD_NOETIC: 1 +``` + +=== Pipeline + +All files follow the same pipeline, consisting of the following stages and jobs: -- Stage: `precheck` - * Check python syntax - Stage: `build` + * Check python syntax * Run `industrial_ci` + ** Uses the ros distro defined above ** Uses `flexbotics-base-devel` as a starting image ** Runs link: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) +- Stage: `.post` (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 -- GitLab