Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

run_ros_prerelease: drop builder_setup #816

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

rhaschke
Copy link
Contributor

The prerelease test always runs image ros:noetic-ros-core, independent of ROS_DISTRO:

export DOCKER_IMAGE=${DOCKER_IMAGE:-ros:noetic-ros-core}

Subsequently running ${BUILDER}_setup attempts to install the wrong debian package (matching ROS_DISTRO):

catkin_make_isolated_setup
  $ sudo apt-get -qq install -y --no-upgrade --no-install-recommends ros-melodic-catkin | grep -E 'Setting up' 
  E: Unable to locate package ros-melodic-catkin

@mathias-luedtke
Copy link
Member

We need to install the builder, otherwise the ros_buildfarm will skip checking the tests.
To be honest, I dont understand why they the test results command outside of Docker.
Instead of installing the builder, we could just install colcon and ros-noetic-catkin.

@rhaschke
Copy link
Contributor Author

We need to install the builder, otherwise the ros_buildfarm will skip checking the tests.

Hm. Yes, I see.

Instead of installing the builder, we could just install colcon and ros-noetic-catkin.

Seems to improve the situation. Indeed, for a Noetic build, the tests are checked again.
For a Melodic build, the prerelease test correctly runs now but catkin_test_results is not found:

'catkin_test_results' not found on the PATH. Please make sure the tool is installed and the environment is setup (if applicable) to output the test result summary.

Next, I will try running the prerelease test within a docker image matching ROS_DISTRO.

@rhaschke
Copy link
Contributor Author

Next, I will try running the prerelease test within a docker image matching ROS_DISTRO.

This doesn't work either because generate_prerelease_script.py fails on Melodic:

$ sudo -EH -u ci generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml melodic default ubuntu bionic amd64 --build-tool catkin_make_isolated --level 0 --output-dir /tmp/tmp.jmYuNxo05C --custom-repo geometric_shapes::::
  Fetching buildfarm configuration...
  Traceback (most recent call last):
    File "/usr/local/bin/generate_prerelease_script.py", line 333, in <module>
      sys.exit(main())
    File "/usr/local/bin/generate_prerelease_script.py", line 91, in main
      config = get_config_index(args.config_url)
    File "/usr/local/lib/python3.6/dist-packages/ros_buildfarm/config/__init__.py", line 35, in get_index
      data = yaml.load(yaml_str)
  TypeError: load() missing 1 required positional argument: 'Loader'
  'sudo -EH -u ci generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml melodic default ubuntu bionic amd64 --build-tool catkin_make_isolated --level 0 --output-dir /tmp/tmp.jmYuNxo05C --custom-repo geometric_shapes::::' returned with 1

The prerelease script should not care about an underlay workspace.
The only reason for sourcing a ROS workspace is to make colcon or
catkin_test_results available.
@rhaschke
Copy link
Contributor Author

I found the actual culprit: The problem was sourcing of $UNDERLAY/setup.sh (pointing to /opt/ros/$ROS_DISTRO/setup.sh by default. However, as pointed out above, catkin_test_results was only installed in /opt/ros/noetic.
As a prerelease test shouldn't use an arbitrary underlay, I just replaced underlay with /opt/ros/noetic.
@mathias-luedtke, please review.

@rhaschke
Copy link
Contributor Author

Here are my two test builds: Melodic + Noetic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants