Packages that can not be built using bloom-generate.
The pipeline for these is different: the docker build executes a script from each repository (.ci/build_package.sh) that is supposed to build the deb package. This procedure is different for each repository, so it is implemented within each package.
Specialities: PX4 is not compatible with bloom-generate, so the ROS package is build by catkin and the build artifacts are extracted from a catkin workspace
Packages are either MRS-developed or are in some way dependent on packages from this pipeline (e.g., on mrs_lib or mrs_msgs)
unstable-PPA
Clean build images
delete builder images older than 7 days
Test job
loads the Docker builder image from Github's Docker registry
accesses the repository from the commit
[optional] install git and gitman submodules
Runs the Docker builder image:
installs dependencies via rosdep
builds a workspace
runs ROS tests
.deb packages are collected and commited to the PPA repository
rosdep.yml is commited to the PPA
delete builder images older than 7 days
Repository order determination
python script
clones all the repositories
does topological ordering of repositories containing ROS packages
for simplicity and minimizing edge cases treats all dependency types equally
loads the Docker builder image from Github's Docker registry
clones the repository
[optional] install git and gitman submodules
Runs the Docker builder image:
2. adds the passing rosdep.yaml from the artifacts
3. installs dependencies via rosdep
4. determines build order of ROS packages within the repository
5. for each ROS package:
1. determines if the package needs to be built (if the commit changed or if the based image changed or if its dependency was compiled (is in compiled.txt))
2. generates build using bloom-generate for each ROS package
3. builds .deb package
4. installs the .deb to satisfy dependencies later
5. adds the package to the passing rosdep.yaml
6. if compiled, ads the package name into compiled.txt
installs the created .deb fiiles into the into the builder image and squashes the image
Pushes the updated Docker buiilder image into the Github's docker registry
outputs the following into the /tmp/artifacts folder for the later jobs
the new .deb packages
the passing rosdep.yml
the passing copiled.txt
Generic Github action link for the test is triggered