Skip to content

Running build farm job locally

Leandro edited this page Dec 6, 2022 · 9 revisions

It is possible to reproduce the job that runs on the build farm by following these instructions. Find below a summary of the steps taken for doing so:

# setup environment
sudo apt update && sudo apt install python3 python3-all python3-pip python3-venv
mkdir /tmp/deploy_ros_buildfarm
cd /tmp/deploy_ros_buildfarm
python3 -m venv venv
. venv/bin/activate
pip3 install empy
pip3 install jenkinsapi
pip3 install rosdistro
pip3 install wheel
pip3 install git+https://github.com/ros-infrastructure/ros_buildfarm.git@master

# run the prerelease job
mkdir /tmp/prerelease_job
generate_prerelease_script.py \
    https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml \
    galactic default ubuntu focal amd64 ros_amr_interop \
    --output-dir /tmp/prerelease_job \
    --custom-repo ros_amr_interop:git:https://github.com/<FORKED_REPOSITORY>/ros_amr_interop.git:<BRANCH_NAME>
cd /tmp/prerelease_job
./prerelease.sh

# run the devel job
mkdir /tmp/devel_job
generate_devel_script.py \
    https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml \
    galactic default ros_amr_interop ubuntu focal amd64 > /tmp/devel_job/devel_job_galactic_ros_amr_interop.sh
cd /tmp/devel_job
./devel_job_galactic_ros_amr_interop.sh

Please note I used the --custom-repo parameter to use the code on a forked repository. This is useful for iterating quickly and might be included as part of CI workflow in the future

Pull latests changes and rerun

cd ws/src/ros_amr_interop/ && git pull && cd ../../../ && ./prerelease.sh