Skip to main content
Version: 1.5.0

MRS ROS Build Pipeline

Helper scripts


This repository contains build scripts and Github action workflows that are used for both

Buildfarm


The buildfarm repository contains build scripts that facilite a complete build of the MRS system. The pipeline is divided into thres sub-pipelines: non-bloom, thirdparty ROS, and MRS packages. The last two ROS-driven pipelines generate a list of Github actions workflows that build the packages in the right order and supply the dependencies using the already build artifacts.

NonBloom packages

These packages are not built using the ROS's bloom builder, instead, they rely on the generic mechanism for building deb packages.

Third-party ROS packages

These packages do not change often and not dependend on anything from the custom MRS packages (the third group).

MRS packages

These packages are the bulk of the pipeline. They can depend on the third-party packages.

Pipelines

Unstable pipeline

The unstable pipiline builds packages into the unstable PPA. The packages are most-commonly built from the master branch of the git repository. The particular branches are encoded in the buildfarm definition files. Each push to the respective branch generates a deb package immediatelly. A user won't typically use the unstable PPA, unles he specifically choses to. The unstable PPA is meant to be used by developers (the packages appear there quickly) and is used to regularly check the state of the main branch in all the repositories. Tests are executed daily on the unstable PPA.

Release pipeline

This pipeline builds packages into the testing PPA. The packages originate from the release candidate branches. Automated rostests are executed after the packages are compiled. If the tests pass, the release candidate branches are automatically merged to the release branches, from which the stable pipeline is executed.

Stable pipeline

This pipeline builds the stable version of the system from the stable branches into the stable PPA.